gpt4 book ai didi

Python - 检查列是否包含列表中的值,返回值

转载 作者:太空宇宙 更新时间:2023-11-04 00:09:52 25 4
gpt4 key购买 nike

我有一个 df:

d = {'id': [1,2,3,4,5,6,7,8,9,10],
'text': ['bill did this', 'jim did something', 'phil', 'bill did nothing',
'carl was here', 'this is random', 'other name',
'other bill', 'bill and carl', 'last one']}
df = pd.DataFrame(data=d)

我想检查列是否包含列表中的值,列表是:

list = ['bill','carl']

我想退回这样的东西

id  text                    contains
1 bill did this bill
2 jim did something
3 phil
4 bill did nothing bill
5 carl was here carl
6 this is random
7 other name
8 other bill bill
9 bill and carl bill
9 bill and carl carl
10 last one

尽管在同一行中处理 2 个或更多名称的方式可以更改。有什么建议吗?

最佳答案

您可以创建一个 lambda 函数来检查列表中的每个项目:

d = {'id': [1,2,3,4,5,6,7,8,9,10],
'text': ['bill did this', 'jim did something', 'phil', 'bill did nothing',
'carl was here', 'this is random', 'other name',
'other bill', 'bill and carl', 'last one']}
df = pd.DataFrame(data=d)

l = ['bill','carl']

df['contains'] = df['text'].apply(lambda x: ','.join([i for i in l if i in x]))

如果你想要列表,你可以删除连接,否则它只会连接用逗号分隔的值。

输出

>>df['contains']

0 bill
1
2
3 bill
4 carl
5
6
7 bill
8 bill,carl
9
Name: contains, dtype: object

关于Python - 检查列是否包含列表中的值,返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52938873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com