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

莫回無
TA貢獻1865條經驗 獲得超7個贊
使用是integer_na
因為默認情況下至少有一個缺失值將整數轉換為浮點數(因為NaN
是float
),因此需要特殊類型Int64
來解決此問題:
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>
添加回答
舉報
0/150
提交
取消