Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将NumPy整数数组中的零替换为nan_Python_Arrays_Numpy_Nan - Fatal编程技术网

Python 将NumPy整数数组中的零替换为nan

Python 将NumPy整数数组中的零替换为nan,python,arrays,numpy,nan,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: invali

我在下面编写了一个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]
回溯(最近一次呼叫最后一次):
文件“C:\Users\Desktop\test.py”,第4行,在
arr[arr==0]=['nan']
ValueError:以10为基数的long()的文本无效:“nan”
[在0.2秒内完成,退出代码为1]

如何将NumPy数组中的零替换为nan?

np.nan
具有类型
float
:包含它的数组也必须具有此数据类型(或
复数
对象
数据类型),因此在尝试分配此值之前,您可能需要强制转换
arr

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

>>> arr = arr.astype('float')
>>> arr[arr == 0] = 'nan' # or use np.nan
>>> arr
array([[ nan,   1.,   2.],
       [  3.,   4.,   5.]])
可能重复的