在Datafram中搜索动态字数

2024-03-29 10:10:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个.csv文件,其中有1列和9999行,我必须编写一个算法来搜索其中包含特定单词的字符串。到目前为止,我有固定字数的代码(在这种情况下为3个字):

import pandas as pd
df = pd.read_csv('example.csv', encoding='cp1251',header=None)
search = input("searching for:  " )
search = search.lower().split()
df[0] = df[0].str.lower()
print (df[df[0].str.contains(search[0]) & df[0].str.contains(search[1]) & df[0].str.contains(search[2])])

请告诉我,我怎样才能使动态的词数搜索类似的算法。你知道吗

谢谢你的时间!你知道吗


Tags: 文件csv字符串代码import算法dfsearch
1条回答
网友
1楼 · 发布于 2024-03-29 10:10:10

您不必在search中枚举每个可能的索引。相反,可以将reduce()与按位and(&)运算符一起使用。你知道吗

#from functools import reduce  # for python3 only
print(df[reduce(lambda a, b: a&b, (df[0].str.contains(s) for s in search))])

相关问题 更多 >