我有一个用 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
[]
和 None
到 NaN
:
注意:替换适用于 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/