gpt4 book ai didi

Python 将一列的字符串匹配到另一列的子字符串

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

我需要 Python 代码获取 x 列中的文本并遍历 y 列并在 Y 中的每个值中搜索子字符串值 x。我的示例如下所示。如果可能的话,我希望它在字典中打印匹配项的值和名称,或者以某种方式将其转换为 Pandas 数据框,每列都有一个值。我在这方面相当陌生,不断出错。我的代码和错误如下。

matches=['cat','bat','fat']
names=['turtle','bigcats','hfat1']

for x in matches:
if name.str.contains(x) == 1:
print(name)

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。

最佳答案

由于您将此问题标记为 pandas:

import pandas as pd
import numpy as np

matches=['cat','bat','fat']
names=['turtle','bigcats','hfat1']

df = pd.DataFrame({'Name':names,'Matches':matches})
print(df)

起始数据框:

  Matches     Name
0 cat turtle
1 bat bigcats
2 fat hfat1

使用 str 访问 contains 和由 join 创建的正则表达式:

df.loc[df.Name.str.contains('|'.join(df.Matches)),'Name'].tolist()

输出:

['bigcats', 'hfat1']

关于Python 将一列的字符串匹配到另一列的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49642057/

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