我有一个用 pd.read_json() 创建的 Pandas 数据框。当我读入它时,我得到一些只有空列表或无的单元格,我想检测某些列中带有 [], None 的行。例如:

    feat 1    feat 2    feat 3
0     []        []        5
1     6         8         3
2     None      10        NaN

我想删除第 0 行和第 2 行,因为它们有 None/NaN/空列表。我怎样才能用 Pandas 做到这一点?

最佳答案

您可以 applymap []NoneNaN :

注意:替换适用于 None 但不适用于 [] ......这个解决方案似乎有点敏感(因此使用了否定 ~ )......

In [11]: df.applymap(lambda x: x == [] or x is None)
Out[11]:
  feat 1 feat 2 feat 3
0   True   True  False
1  False  False  False
2   True  False  False

In [12]: df.where(~df.applymap(lambda x: x == [] or x is None))
Out[12]:
  feat 1 feat 2  feat 3
0    NaN    NaN       5
1      6      8       3
2    NaN     10     NaN

关于json - Read_json 填充空列表;如何删除这些行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22124537/

10-12 20:32