如何使用np.isnan从Python中的数组中删除带有nan的行?

这是我的代码:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

np.isnan用于Python中的数组

如何在熊猫数据框中的列中删除带有“nan”的行?

python中,如何使用np数组高效操作多维?

如何在Python中删除带有字符的行

Python:从字符串数组中删除 np nan 值

如何在dask数据框中删除带有nan单元格的行?

如何在几个特定的列中删除带有NaN的行

如何在 Pandas DataFrame 的任何列中删除带有 NaN 的行

如何使用 np tile 重塑数组

带有numpy的Python:如何根据特定索引从二维数组的每一行中删除元素

如何从列表中删除带有NaN值的字典

如何使用python从pandas数据框转换的列表中删除带有空元素的行?

如何选择特定列中带有NaN的行?

如何使用np.average计算包含np.nan的平均值?(使用groupby时)

如何使用np.where()创建特定行的新数组?

如何在Python Pandas DataFrame中的任何行具有NaN值后删除列

Python:如何删除列表中具有dict的nan值的行

np.add 让我头疼。如何使用 np.add 中的 where 选项?

如何使用 np.where 使用带有公式的前一行创建新列?

如果该行的所有元素都不都是值(NaN,null,未定义),如何删除该数组中的行?

从np数组中删除随机行

在for循环中删除np数组中的行

如何在列表数组上使用np argmax?

如何使用`np.where()`比较数组而不是单个值

如何在数组上使用 np.random.choice?

如何使用np.where检查行级别的条件

如何在R中删除带有模式的行?

如何从行中删除带有uniq字符的语法

如何从TableView中删除选定的行?(带有FXML的JavaFX)