过滤Pandas Dataframe是一个数组

时间:2018-01-30 01:13:17

标签: python pandas filter

我有一个数据框,我想通过类型为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   []

我理想情况下只想返回包含真值的行。

1 个答案:

答案 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]