python - numpy记录数组中列的数据类型转换

标签 python arrays numpy matplotlib record

我有一个带有多个整数列和一些字符串列的 numpy recarray。字符串列中的数据由 99% 的整数组成,但 numpy 的东西是字符串,因为“NA”在列中。

所以我有两个问题:

  • 如何删除 NA 并将它们更改为 0?

  • 如何将字符串列转换为整数,以便我可以拥有包含许多整数列的记录数组?

谢谢。

最佳答案

使用whereastype:

>>> x = np.array([123, 456, "789", "NA", "0", 0])
>>> x 
array(['123', '456', '789', 'NA', '0', '0'], dtype='|S8')
>>> np.where(x != 'NA', x, 0).astype(int)
array([123, 456, 789,   0,   0,   0])

关于python - numpy记录数组中列的数据类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536120/

相关文章:

Python。如何删除数组中的特定键?

python - 在numpy中创建一个可变长度范围序列的数组的有效方法

python - 如何使用 isinstance 测试所有可能的整数类型

python - 如何在 Python 中打开文件后释放内存

arrays - 目录中所有文件的数组,除了一个

arrays - 从 ruby​​ 中的数组创建哈希

python - 无法将 numpy 数组转换为 SageMath 中的图形

python - 长文本作为 Python 中的字符串

适合我的缓存的 Python 数据类型

python - Python中的递归: what am I doing wrong?