相关疑难解决方法(0)

NumPy或Pandas:将数组类型保持为整数,同时具有NaN值

是否有一种首选方法可以将numpy数组的数据类型固定为int(int64或者其他),同时仍然将内部元素列为numpy.NaN

特别是,我正在将内部数据结构转换为Pandas DataFrame.在我们的结构中,我们有整数类型的列仍然有NaN(但列的dtype是int).如果我们把它变成一个DataFrame,它似乎将所有东西重铸为浮点数,但我们真的很喜欢int.

思考?

事情尝试:

我尝试使用from_records()pandas.DataFrame下的函数coerce_float=False,但这并没有帮助.我也尝试使用带有NaN fill_value的NumPy掩码数组,这也没有用.所有这些都导致列数据类型变为浮点数.

python int numpy type-conversion pandas

140
推荐指数
6
解决办法
5万
查看次数

将包含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
Run Code Online (Sandbox Code Playgroud)

或者,我尝试在阅读后转换列类型,如下所示,但这次我得到:

df= pd.read_csv("data.csv") 
df[['id']] = df[['id']].astype(int)
error: Cannot convert NA to integer
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

python pandas na

132
推荐指数
9
解决办法
13万
查看次数

标签 统计

pandas ×2

python ×2

int ×1

na ×1

numpy ×1

type-conversion ×1