用nan替换NumPy整数数组中的零

时间:2015-01-05 11:10:56

标签: python arrays numpy nan

我在下面写了一个python脚本:

import numpy as np

arr = np.arange(6).reshape(2, 3)
arr[arr==0]=['nan']
print arr

但我收到了这个错误:

Traceback (most recent call last):
  File "C:\Users\Desktop\test.py", line 4, in <module>
    arr[arr==0]=['nan']
ValueError: invalid literal for long() with base 10: 'nan'
[Finished in 0.2s with exit code 1]

如何用nan?

替换NumPy数组中的零

1 个答案:

答案 0 :(得分:27)

np.nan的类型为float:包含它的数组也必须具有此数据类型(或complexobject数据类型),因此您可能需要转换{{1}在尝试分配此值之前。

出现错误是因为字符串值arr无法转换为整数类型以匹配'nan'的类型。

arr