gpt4 book ai didi

python - NumPy 或 Pandas : Keeping array type as integer while having a NaN value

转载 作者:行者123 更新时间:2023-12-03 21:20:11 24 4
gpt4 key购买 nike

是否有保留 numpy 的数据类型的首选方法?数组固定为 int (或 int64 或其他),同时仍然有一个元素被列为 numpy.NaN ?

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

想法?

尝试过的事情:

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

最佳答案

NaN不能存储在整数数组中。这是目前 Pandas 的一个已知限制;我一直在等待 NumPy 中的 NA 值取得进展(类似于 R 中的 NA),但 NumPy 获得这些功能至少需要 6 个月到一年的时间,看起来:

http://pandas.pydata.org/pandas-docs/stable/gotchas.html#support-for-integer-na

(此功能已从 pandas 0.24 版开始添加,但请注意,它需要使用扩展 dtype Int64(大写),而不是默认的 dtype int64(小写):
https://pandas.pydata.org/pandas-docs/version/0.24/whatsnew/v0.24.0.html#optional-integer-na-support
)

关于python - NumPy 或 Pandas : Keeping array type as integer while having a NaN value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52040142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com