pandas.series如果单元格中的列表包含值,则为布尔值

问题描述 投票:0回答:1

我有一个熊猫系列,其中每个单元格都有一个值列表。我想获取一个布尔值,是否单元格中的列表包含一个值。

熊猫系列:

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是否在整个序列中,而不是在每个单元格中。

我希望获得一些提示和帮助。

python pandas series
1个回答
0
投票

与列表理解一起使用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
© www.soinside.com 2019 - 2024. All rights reserved.