gpt4 book ai didi

python - 如何使用字符串列表通过 Python 3 搜索 Pandas 数据框

转载 作者:行者123 更新时间:2023-12-04 14:55:36 26 4
gpt4 key购买 nike

我正在尝试使用 Python 3 中的列表搜索 Pandas 数据框。为清楚起见,我在使用 python 3.8 的 Windows 机器上。

我有一个 excel 文件,我在注释列中查找某些关键字,然后我希望程序返回包含 ID 号的另一列。目前,我的代码通过将 excel 数据放入 pandas 数据框,然后使用 str.contains 检查字符串变量来实现这一点,但我有多个关键字要搜索,但我不确定该怎么做。

到目前为止,这是我的代码:

import pandas as pd

searchWord1 = 'Honda'
searchWord2 = 'honda'
searchWord3 = 'Toyota'
searchWord4 = 'toyota'
searchWord5 = '350'

df = pd.read_excel('data.xlsx',sheet_name='Sheet1')

df2 = (df[df['Notes'].str.contains(searchWord1)])

print(df2['id_number'])

我试过创建一个列表,使用 for 循环并遍历它,但没有成功,也许我只是做错了?我是 python 和 pandas 的新手,所以非常感谢任何帮助,谢谢。

最佳答案

您可以在列表中定义搜索词,然后生成搜索模式,如下所示:

searchWords = ['Honda', 'honda', 'Toyota', 'toyota', '350']
pattern = rf"\b{'|'.join(searchWords)}\b"

pattern 将设置为:r'\bHonda|honda|Toyota|toyota|350\b' 其中:

两端的

\b 是为了确保只匹配整个单词而不是部分单词匹配(例如匹配'350'但不匹配'12350')。如果需要部分单词匹配,可以去掉这对两端的'\b`。

| 是替代字符串(如 )的正则表达式元字符

然后,使用搜索模式,如下所示:

df = pd.read_excel('data.xlsx',sheet_name='Sheet1')

df2 = (df[df['Notes'].str.contains(pattern)])

print(df2['id_number'])

关于python - 如何使用字符串列表通过 Python 3 搜索 Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68089371/

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