執(zhí)行以下操作的正確方法是什么:df['file_size'] = np.where(df['file_size'], int(df['file_size']), None)目前我得到的錯(cuò)誤是:類型錯(cuò)誤:無(wú)法將系列轉(zhuǎn)換為 <class 'int'>當(dāng)嘗試直接這樣做時(shí):df['file_size'] = df['file_size'].astype(int)ValueError:無(wú)法將非有限值(NA 或 inf)轉(zhuǎn)換為整數(shù)
1 回答

莫回?zé)o
TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
使用是integer_na
因?yàn)槟J(rèn)情況下至少有一個(gè)缺失值將整數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)(因?yàn)?code>NaN是float
),因此需要特殊類型Int64
來(lái)解決此問(wèn)題:
df = pd.DataFrame({'file_size':[5,4,np.nan,None]})
df['file_size'] = df['file_size'].astype("Int64")
print (df)
? ?file_size
0? ? ? ? ? 5
1? ? ? ? ? 4
2? ? ? ?<NA>
3? ? ? ?<NA>
添加回答
舉報(bào)
0/150
提交
取消