我有一个熊猫系列,其中每个单元格都有一个值列表。我想获取一个布尔值,是否单元格中的列表包含一个值。
熊猫系列:
0 [1, 2, 2, 2]
1 [1, 2, 2]
2 [1, 2]
3 [1, 2]
4 [1, 2]
...
1697 [1, 1, 1, 2, 2]
1698 [1, 2, 2]
1699 [1, 2]
1700 [1, 2, 2]
1701 [1, 2]
“ isin”不起作用,“ 1 in data ['top-level']”也不起作用,因为看起来1是否在整个序列中,而不是在每个单元格中。
我希望获得一些提示和帮助。
与列表理解一起使用in
:
mask = [1 in x for x in data['top-level']]
或在in
中使用Series.apply
:
Series.apply
或创建mask = data['top-level'].apply(lambda x: 1 in x)
,按DataFrame
进行比较,并按DataFrame.eq
每行至少测试一个DataFrame.eq
:
True