gpt4 book ai didi

python - 将关键字(字符串)与 Pandas 数据框匹配

转载 作者:行者123 更新时间:2023-12-03 20:25:50 25 4
gpt4 key购买 nike

我有一个要与某些关键字匹配的数据框(我想检测包含这些关键字的行)
我设法通过这种方式得到了这份工作。但我想知道我可能有多达 10 或 20 个不同的关键字,是否有更好的方法来做到这一点。

df1 = df[df['column1'].str.contains("keyword1") | df['column1'].str.contains('keyword2')]

(我是初学者,请尽量保持简单)

最佳答案

对于 您可以通过将单词与 | 连接来创建单个模式的逻辑.将您的 10-20 个单词存储在列表中,然后 '|'.join(that_list) .

import pandas as pd
import numpy as np

df = pd.DataFrame({'col1': ['foo', 'bar', 'baz', 'foobar', 'boo']})
words = ['foo', 'bar']

df['foo_OR_bar'] = df['col1'].str.contains('|'.join(words))

# col1 foo_OR_bar
#0 foo True
#1 bar True
#2 baz False
#3 foobar True
#4 boo False

#To slice by that Boolean Series
df1 = df.loc[df['col1'].str.contains('|'.join(words))]

如果您的加入逻辑是 那么我们可以使用 np.logical_and.reduce使用列表理解来保持紧凑。
df['foo_AND_bar'] = np.logical_and.reduce([df.col1.str.contains(w) for w in words])

# col1 foo_OR_bar foo_AND_bar
#0 foo True False
#1 bar True False
#2 baz False False
#3 foobar True True
#4 boo False False

关于python - 将关键字(字符串)与 Pandas 数据框匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61390726/

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