Pandas Where方法:如何查询值是否在值为

时间:2017-08-23 13:51:58

标签: python pandas

我有以下DataFrame:

           a
0  [1, 2, 3]
1  [5, 6, 7]

我试图通过列b(列表)的值找到包含1的行。因此,对于上面的表,查询将返回:

           a
0  [1, 2, 3]

我试过了:

> df.where(1 in df.a)
ValueError: where requires an ndarray like object for its condition

> df.query('1 in a')
KeyError: True

有人可以通过where或query方法告诉我是否有办法吗?

由于

1 个答案:

答案 0 :(得分:1)

可能有更好的方法,但一种简单的方法是使用applylambda函数访问列表:

df[df.a.apply(lambda seq: 1 in seq)]