【发布时间】:2021-10-25 16:11:47
【问题描述】:
我有以下 Pandas df,名为 pro:
property name
0 too Deliveroo
1 bar Gousto
2 baz Gousto
3 foobar Deliveroo
4 too Gousto
5 foobaz Deliveroo
应用以下代码时:
property = pro.groupby('name')['property'].apply(list).reset_index(name='property')
我得到 属性 df:
name property
0 Deliveroo [too,foobar,foobaz]
1 Gousto [bar,baz,too]
我想检查列表中的元素是否与property['property'] 列中的任何列表匹配,例如
check = ['bar']应该在df的第1行找到“bar”。
check = ['bar','baz']应该在df的第1行找到“bar”和“baz”。
check = ['too'] 应该在 df 的第 0 行和第 1 行找到“too”。
check = ['foobar']应该在df的第0行找到“foobar”。
我知道我可以循环遍历 property['property'] 中的所有项目(它们是列表类型)并使用 check 列表来处理它们,但我想使用高效的 Pandas 方法来做到这一点。我试过.isin,但在这种情况下我不能让它工作。
最终结果应该允许使用check 列表来过滤property df。
【问题讨论】:
-
请添加您的预期输出
标签: python pandas string list dataframe