將包含NaN的Pandas列轉換為dtype`int` 我將.csv文件中的數據讀取到Pandas數據幀,如下所示。對于其中一列,即id我想將列類型指定為int。問題是id系列缺少/空值。當我嘗試id在讀取.csv時將列轉換為整數時,我得到:df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values或者,我嘗試在閱讀后轉換列類型,如下所示,但這次我得到:df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int)error: Cannot convert NA to integer我怎么解決這個問題?
3 回答
汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
在版本0.24。+ pandas已經獲得了保存具有缺失值的整數dtypes的能力。
可以為空的整數數據類型。
Pandas可以表示可能缺少值的整數數據arrays.IntegerArray。這是在pandas中實現的擴展類型。它不是整數的默認dtype,也不會被推斷; 你必須明確地將dtype傳遞給array()或Series:
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype())
pd.Series(arr)
0 1
1 2
2 NaN
dtype: Int64
添加回答
舉報
0/150
提交
取消
