如何从numpy.ndarray中删除Nan值

我有一些numpy.ndarray变量。它们包括nan值,我想从中删除每个nan值。数组包含int,float,str等值。这些数组的示例:

['A' 'B' 'C' 'D' nan 'E' 'F']

另一个:

[nan  1.]

在某些情况下,数组可能包含float,str和nan值。在这种情况下,如何只删除nan值?

我使用了以下代码:

x[:,~np.isnan(x).any(axis=0)]

并出现以下错误:

ufunc 'isnan' not supported for the input types,and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''
tianlong253 回答:如何从numpy.ndarray中删除Nan值

熊猫中有一个名为pandas.DataFrame.dropna的函数,该函数会删除所有具有nan值的列。否则,只需创建DataFrame,然后执行df.dropna()

,

这可能是因为np.isnan()无法处理集合中可能的元素类型中的字符串类型。您可以尝试使用panda's isnull()删除NaN的值。

import pandas as pa
import numpy as np

a = ['A',np.nan,1.67,8]
a = [x for x in a if not pa.isnull(x)]
print(a)
本文链接:https://www.f2er.com/3125721.html

大家都在问