首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将NumPy整数数组中的零替换为nan

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

Stack Overflow用户
提问于 2015-01-05 19:10:56
回答 1查看 70.2K关注 0票数 31

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

代码语言:javascript
复制
import numpy as np

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

但是我得到了这个错误:

代码语言:javascript
复制
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数组中的零?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-05 19:15:20

np.nan具有类型float:包含该类型的数组也必须具有该数据类型(或complexobject数据类型),因此在尝试为该值赋值之前,可能需要强制转换arr

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

代码语言:javascript
复制
>>> arr = arr.astype('float')
>>> arr[arr == 0] = 'nan' # or use np.nan
>>> arr
array([[ nan,   1.,   2.],
       [  3.,   4.,   5.]])
票数 48
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27778299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档