python - How can I get all the index of all the NaNs of a list?
问题描述
I am trying to make a list with the index of all NaNs
in the list a
.
The problem is that the list ind
doesn't fill with anything. It works if instead of NaN
, I put a random string like c
.
import numpy as np
a=[1, 2, 3, 4, np.nan, np.nan, 2, np.nan]
ind=[]
for i in range(0,len(a)):
if a[i]==float("NaN"):
ind.append(i)
print ind
解决方案
使用 np.nan 进行比较
import numpy as np
a=[1,2,3,4,np.nan,np.nan,2,np.nan]
ind=[]
for i in range(0,len(a)):
if a[i] is np.nan:
ind.append(i)
print ind
输出
[4, 5, 7]
使用列表理解:
[x for x in range(0,len(a)) if a[x] is np.nan]
或者,如果您使用 numpy 函数构建了数组,则np.isnan(a[i])
用于比较。
推荐阅读
- laravel - 从 Laravel 5.8 中的抽象类的静态方法发送通知?
- java - 为许多组件有效地存储布尔事件的简短历史
- java - 从 cmd 运行 mvn clean install 时出现 NoClassDefFoundError com/google/inject/Module
- sql - MS-Access-2016 查询语言“ORDER BY”子句
- javascript - 带有动态 HTML 页面的锚点
- angular - 在角度中使用参数作为对象属性
- clockify - 身份证可靠吗?
- javascript - 如何使用 JavaScript 接收自定义视觉模型的判断结果
- javascript - 有没有办法离线保存大量图像以便稍后发送到服务器?
- javascript - 如何检查数组值是否具有文件格式