Python-NumPy或Pandas:具有NaN值时,将数组类型保持为整数
有没有一种首选的方法来将numpy数组的数据类型固定为int(int64或其他),同时仍将元素内部列出为numpy.NaN
?
特别是,我正在将内部数据结构转换为Pandas DataFrame
。在我们的结构中,我们有仍具有NaN的整数类型的列(但该列的dtype为int)。如果将其设为DataFrame
,似乎将所有内容重铸为float,但我们真的很想成为int。
有什么想法吗?
尝试过的事情:
我尝试from_records()
在pandas.DataFrame
下使用该功能coerce_float=False
,但这并没有帮助。我还尝试使用带有NaN fill_value
的NumPy蒙版数组,该数组也无法正常工作。所有这些导致列数据类型变为浮点型。
回答:
此功能已添加到熊猫(从0.24版开始):https : //pandas.pydata.org/pandas-docs/version/0.24/whatsnew/v0.24.0.html#optional-integer-na-support
此时,它需要使用扩展名dtype Int64(大写),而不是默认的dtype int64(小写)。
以上是 Python-NumPy或Pandas:具有NaN值时,将数组类型保持为整数 的全部内容, 来源链接: utcz.com/qa/422961.html