gpt4 book ai didi

python - 如何在Python中检查数据帧是否包含字符串?

转载 作者:行者123 更新时间:2023-11-30 22:04:57 24 4
gpt4 key购买 nike

我的report.txt包含

I am a student from Tribhuwan university

而我的dictionary.txt包含这个。 enter image description here

我正在尝试检查字典中的单词是否包含报告中的单词。然而,使用下面的代码我得到的结果 v 仅对于第一个元素为 True。然而,在我看来,v 对于所有情况都应该成立,因为字典中的所有单词都包含在报告中。请帮我弄清楚我做错了什么。

我的dictionary.txt包含这个

words, synonyms
I, me
student, pupil
tribhuwan,
university, school

enter image description here

import pandas as pd

report = pd.read_csv("report.txt", header=None)
dict = pd.read_csv("dictionary.txt")

for report in report[0]:
v = []
for word in dict['words']:
if word in report[0]:
v.append(True)
else:
v.append(False)

最佳答案

这里不需要显式的 for 循环。使用 Pandas,您可以向数据框添加额外的列并使用 pd.Series.isin。您可能还需要将所有字母设为小写以进行比较。最后,永远不要隐藏内置函数,即不要使用dict作为变量名。

这是一个演示:

from io import StringIO

report = StringIO("""I am a student from Tribhuwan university
""")

dictionary = StringIO("""words, synonyms
I, me
student, pupil
tribhuwan,
university, school""")

df_report = pd.read_csv(report, header=None)
df_dict = pd.read_csv(dictionary)

words = df_report[0].str.lower().iat[0].split()

df_dict['check'] = df_dict['words'].str.lower().isin(words)

print(df_dict)

words synonyms check
0 I me True
1 student pupil True
2 tribhuwan NaN True
3 university school True

关于python - 如何在Python中检查数据帧是否包含字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53139760/

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