我有一个数据框,我想通过类型为array的列进行过滤。这样做最有效的方法是什么?
df = pd.DataFrame({'a': [1,2,3,4,5], 'b': [['true','false'],['false'],['false','false','false'],['false','false','true'],[]]})
df
a b
0 1 [true, false]
1 2 [false]
2 3 [false, false, false]
3 4 [false, false, true]
4 5 []
我理想情况下只想返回包含真值的行。
答案 0 :(得分:3)
没有循环:-)
df[pd.DataFrame(df.b.tolist()).eq('true').any(1)]
Out[98]:
a b
0 1 [true, false]
3 4 [false, false, true]