这是我的代码:
with open(r'filename.dat') as f:
for line in itertools.islice(f, 19, None):
line = line.strip()
columns = line.split()
lam = columns[0]
lam1 = np.array(lam)
flux = float(columns[1])
flux1 = np.array(flux)
data = np.column_stack((lam1,flux1))
data = data[~np.isnan(data).any(axis=1)]
print(data)
我收到此错误:
类型错误:输入类型不支持 ufunc 'isnan',并且无法根据转换规则 ''safe'' 将输入安全地强制转换为任何受支持的类型
您可以使用 numpy 函数genfromtxt更轻松地导入数据,然后使用简单的切片符号操作删除 NaN:
data = np.genfromtxt('filename.dat')
data = data[~np.isnan(data)]
这样,当您导入数据时,它就已经是 andarray
并且 numpy 操作将更容易应用。然后使用切片表示法选择不是~
NaN的行np.isnan()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句