在接受 NaN 值的同时保留整数数组类型:NumPy 与 Pandas
NumPy 和 Pandas 在处理具有 NaN 值的整数数组方面的区别提出了一个挑战。虽然人们可能希望保留数组的整数类型,但 NaN 值会带来一个独特的问题。
NumPy 数组有一个固有的限制:它们无法在整数数组中存储 NaN 值。这是因为 NumPy 所遵循的 IEEE 754 浮点标准没有定义整数类型中 NaN 的表示。
Pandas 则相反,将具有 NaN 值的整数数组转换为浮点数数组。这是因为 Pandas 在内部使用了 NumPy 数组并继承了其局限性。
尝试的解决方案及其缺点
已经尝试了各种方法来规避此问题。其中一种解决方案是使用 from_records() 和 coerce_float=False。但是,此方法无法保留整数类型。
另一种方法涉及使用具有 NaN 填充值的 NumPy 掩码数组。然而,这也会导致转换为浮点类型。
突出的功能差距
在容纳 NaN 值的同时维护整数类型的困境源于底层的差距NumPy 库。在 NumPy 实现对整数数组中的 NaN 值的支持之前,此限制将持续存在。
Pandas 0.24 及以上版本的可能解决方法
对于 Pandas 0.24 及以上版本,潜在的解决方法存在解决方法。通过利用扩展数据类型 Int64(大写),可以将 NaN 值合并到整数数组中。然而,此解决方案偏离了通常采用的标准数据类型 int64(小写)。
以上是NumPy 或 Pandas 在处理 NaN 值时可以保留整数数组类型吗?的详细内容。更多信息请关注PHP中文网其他相关文章!