python - 如何从我的 python 代码中删除 nan

标签 python list nan

我编写了一个脚本,其中从文件的列创建列表。在此列表中,有许多随机放置的 nan 条目。我怎样才能删除这些条目? 这是我的代码:

#import astropy.io.ascii as asciitable
import numpy as np
import pylab as plt

#x=asciitable.read('protected.txt', guess=False,delimiter='\t',fill_values=[('', '-999')])
#x=np.genfromtxt('protected.txt', comments='#', delimiter='   ', skiprows=0, skip_header=0, skip_footer=0, converters=None, missing='', missing_values='', filling_values=-999, usecols=None, names=None, excludelist=None, deletechars=None, replace_space='_', autostrip=False, case_sensitive=True, defaultfmt='f%i', unpack=None, usemask=False, loose=True, invalid_raise=True)
x=np.load('EC/EC_data')
# Convert columns to float values
BMI=map(float,x['bmiEC'])
print BMI

这是回溯:

TypeError                                 Traceback (most recent call last)

/example_bmiEC.py in <module>()
      8 # Convert columns to float values

      9 BMI=map(float,x['bmiEC'])
---> 10 BMI=BMI[~np.isnan(BMI)]
     11 print BMI



TypeError: only integer arrays with one element can be converted to an index
WARNING: Failure executing file: <example_bmiECFSPR.py>

最佳答案

>>> import numpy as np
>>> a = np.array([1, 2, 3., np.nan, 4, np.nan])
>>> a = a[~np.isnan(a)]
>>> a
array([ 1.,  2.,  3.,  4.])

关于python - 如何从我的 python 代码中删除 nan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18360641/

相关文章:

python - 即使其中一列不存在,如何设置数据框中的列?

java - 根据属性值从单个对象列表重建列表

Android 列出所有可用的图像

C 预处理器 : what is the motivation behind treating undefined macro as 0?

java - 在 Android 上格式化数字时出现 NoSuchElementException,但在 Java SE 上没有

python - 无法获取不和谐公会/服务器/ channel 成员

c# - 使用套接字将波斯字符串从 C# 服务器发送到 python 客户端

python - AWS Lambda 是否自动删除了/tmp 中的文件?

android - 在 ListView 中显示图像 url

c - 获取 nan 作为累加和