小编典典

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

all

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

特别是,我正在将内部数据结构转换为 Pandas DataFrame。在我们的结构中,我们有仍然有 NaN 的整数类型列(但列的 dtype 是
int)。如果我们将其设为 DataFrame,似乎会将所有内容重铸为浮点数,但我们真的很想成为int.

想法?

尝试的事情:

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


阅读 66

收藏
2022-06-30

共1个答案

小编典典

此功能已添加到 pandas(从版本 0.24 开始): https ://pandas.pydata.org/pandas-
docs/version/0.24/whatsnew/v0.24.0.html#optional-integer-na-
support

此时,它需要使用扩展 dtype Int64(大写),而不是默认的 dtype int64(小写)。

2022-06-30