gpt4 book ai didi

python - 在数据框中查找必须包含列表中至少 2 个元素的行

转载 作者:行者123 更新时间:2023-12-05 04:30:44 24 4
gpt4 key购买 nike

在我的示例中,我将返回包含 list1 中任一元素的所有行。我想限制更多,让它返回至少包含 list1 中的两个元素的行。

这可能吗?

import pandas as pd
data = [
['tom steve orange', 'jane'],
['dave smith green', 'fran'],
['brit dave red', 'terri']
]
cols = ['A', 'B']
df = pd.DataFrame(data, columns=cols)

list1 = ['dave', 'red', 'blue']

df = df[df['A'].str.contains('|'.join(list1))].reset_index(drop=True)
print(df)

当前结果:

                  A      B
0 dave smith green fran
1 brit dave red terri

期望的结果:

                  A      B
0 brit dave red terri

最佳答案

您可以使用集合操作:

S = set(list1)

out = df[[len(set(l.split())&S)>=2 for l in df['A']]]

# or
# out = df[[len(S.intersection(l.split()))>=2 for l in df['A']]]

输出:

                 A      B
2 brit dave red terri

关于python - 在数据框中查找必须包含列表中至少 2 个元素的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71974609/

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