将包含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
提交
取消