我有一个用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 /空列表。我怎么能用熊猫做到这一点?
答案 0 :(得分:2)
您可以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