gpt4 book ai didi

python - 检查数据帧组是否包含提供列表中的子字符串(不区分大小写)

转载 作者:行者123 更新时间:2023-12-01 06:55:20 24 4
gpt4 key购买 nike

如何根据另一列的值打印/返回值?

df = my_df[['Index', 'FRUITS']]
print(df)

Index FRUITS
7 Green Apple
7 Mango
7 Orange
7 Strawberry
9 Pineapple
9 Banana
9 Grapes
10 Orange (Unripe)
10 Plum

L = ['apple', 'orange']

在这里,我想检查字符串是否为Apple Orange 存在每个索引子字符串中,无论大小写,返回那些>这两种水果中的任何一个都未找到!

我尝试使用不同答案的方法,并尝试 groupby 和迭代水果:

out = df.groupby('Index')['FRUITS'].apply(lambda x: L in x)

TypeError: 'in <string>' requires string as left operand, not list

因此,预期输出是:

[9, 10]

最佳答案

使用str.findall

result = df.groupby('Index')['FRUITS'].apply(' '.join).str.lower().str.findall('\\bapple\\b|\\borange\\b').str.len() < 2

list(result[result].index)
<小时/>
[9, 10]

关于python - 检查数据帧组是否包含提供列表中的子字符串(不区分大小写),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58835287/

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