[英]Convert dataframe float to int with all values in python
我有一個 6 列的數據框。 我想將其中一列(第二列)從float轉換為int,當我這樣做時,它只將一列作為int返回,但我想要完全相同的dataframe,唯一的區別是第二個列是 int 而不是 float。
我已經在這里檢查了所有相關問題,但對我沒有任何幫助!! 請幫忙
看起來你有一個看起來像這樣的 dataframe:
>>> print(df)
c1 c2 c3 c4 c5 c6
0 a 1.0 5 d 20 z
1 b 2.0 6 e 40 y
2 c 3.0 7 f 60 x
我相信您可能正在使用DataFrame.astype將您的浮點數列轉換為整數列。 具體來說,您似乎已經到了這一點:
>>> df['c2'].astype(int)
0 1
1 2
2 3
現在,您需要做的就是通過調用替換列:
>>> df['c2'] = df['c2'].astype(int)
>>> print(df)
c1 c2 c3 c4 c5 c6
0 a 1 5 d 20 z
1 b 2 6 e 40 y
2 c 3 7 f 60 x
如果你想創建一個新的整數列,你可以這樣做:
>>> df['new_col'] = df['c2'].astype(int)
>>> print(df)
c1 c2 c3 c4 c5 c6 new_col
0 a 1.0 5 d 20 z 1
1 b 2.0 6 e 40 y 2
2 c 3.0 7 f 60 x 3
你可以做這樣的事情!
>>> df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
'num_wings': [2, 0, 0, 0],
'num_specimen_seen': [10, 2, 1, 8]},
index=['falcon', 'dog', 'spider', 'fish'])
>>> df
num_legs num_wings num_specimen_seen
falcon 2 2 10
dog 4 0 2
spider 8 0 1
fish 0 0 8
>>> df['test'] = df['num_wings'].astype('float')
>>> df
num_legs num_wings num_specimen_seen test
falcon 2 2 10 2.0
dog 4 0 2 0.0
spider 8 0 1 0.0
fish 0 0 8 0.0
您可以參考此鏈接了解更多詳情!
您可以重新分配給新列或替換相同的列值
df["col1"] = df["col1"].astype('int32')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.