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