将 numpy 浮点数组转换为整数,替换 NaN 值

我有一个包含值和 NaN 的 float64 numpy 数组:


[[ 5. nan nan nan nan nan nan nan nan nan nan nan nan]

 [nan  6. nan nan nan nan nan nan nan nan nan nan nan]

 [nan  7.  5. nan nan nan nan nan nan nan nan nan nan]

 [nan nan nan  7. nan nan nan nan nan nan nan nan nan]

 [nan nan nan nan  4. nan nan nan nan nan nan nan nan]

 [nan nan nan nan  5.  3. nan nan nan nan nan nan nan]

 [nan nan nan nan nan nan nan nan nan nan nan nan nan]

 [ 1. nan nan nan nan nan nan  4. nan nan nan nan nan]

 [nan nan nan nan nan nan  7. nan nan nan nan nan nan]

 [nan nan nan nan nan nan nan nan nan  7. nan nan nan]

 [nan nan nan nan nan nan  7. nan  7. nan  6. nan nan]

 [nan nan nan nan nan nan nan nan nan nan nan  7. nan]

 [nan nan nan nan nan nan nan  6. nan nan nan nan  5.]]

我想所有的数字转换为整数,但np.round还是np.around不能安静,似乎做的工作。另外,我无法更改数组的类型,因为整数类型数组不支持“nan”。我该怎么做呢?


catspeake
浏览 492回答 2
2回答

汪汪一只猫

问题是,这些应该转换成什么值?假设这个数组是 names x,那么:x[np.isnan(x)] = 0 # value you want to replace NaN with现在,您可以按照自己的方式将数据转换为整数。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python