將包含NaN的Pandas列轉(zhuǎn)換為dtype`int` 我將.csv文件中的數(shù)據(jù)讀取到Pandas數(shù)據(jù)幀,如下所示。對于其中一列,即id我想將列類型指定為int。問題是id系列缺少/空值。當(dāng)我嘗試id在讀取.csv時將列轉(zhuǎn)換為整數(shù)時,我得到:df= pd.read_csv("data.csv", dtype={'id': int}) error: Integer column has NA values或者,我嘗試在閱讀后轉(zhuǎn)換列類型,如下所示,但這次我得到:df= pd.read_csv("data.csv") df[['id']] = df[['id']].astype(int)error: Cannot convert NA to integer我怎么解決這個問題?
3 回答

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗 獲得超8個贊
在版本0.24。+ pandas已經(jīng)獲得了保存具有缺失值的整數(shù)dtypes的能力。
可以為空的整數(shù)數(shù)據(jù)類型。
Pandas可以表示可能缺少值的整數(shù)數(shù)據(jù)arrays.IntegerArray。這是在pandas中實現(xiàn)的擴(kuò)展類型。它不是整數(shù)的默認(rèn)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
提交
取消