首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择列表列包含列表中特定字符串的行。

选择列表列包含列表中特定字符串的行。
EN

Stack Overflow用户
提问于 2022-10-31 07:43:47
回答 1查看 26关注 0票数 0

我有一只熊猫DataFrame,它看起来像这样:

代码语言:javascript
复制
  molecule            species
0        a              [dog]
1        b       [horse, pig]
2        c         [cat, dog]
3        d  [cat, horse, pig]
4        e     [chicken, pig]

我喜欢提取一个只包含这些行的DataFrame,它只包含选择=‘狗’。结果应该是这样的:

代码语言:javascript
复制
  molecule            species
0        a              [dog]

做这件事最简单的方法是什么?

用于测试:

代码语言:javascript
复制
selection = ['dog']
df = pd.DataFrame({'molecule': ['a','b','c','d','e'], 'species' : [['dog'], ['horse','pig'],['cat', 'dog'], ['cat','horse','pig'], ['chicken','pig']]})

我只能找出哪些选项可以提取列表中包含狗的任何列。

EN

回答 1

Stack Overflow用户

发布于 2022-10-31 07:46:00

您可以比较集合,它返回列表与一个或多个只有dog值的列表:

代码语言:javascript
复制
df1 = df[df['species'].apply(lambda x: set(x) == set(selection))]
print (df1)
  molecule species
0        a   [dog]

如果需要,只选择一个值[dog]使用:

代码语言:javascript
复制
df2 = df[df['species'].astype(str).eq(str(selection))]
print (df2)
  molecule species
0        a   [dog]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74260113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档