gpt4 book ai didi

python - 计算 Pandas 中单词出现次数的最快方法

转载 作者:行者123 更新时间:2023-12-01 00:26:28 27 4
gpt4 key购买 nike

我有一个字符串列表。我想计算 Pandas 列的每一行中所有单词的出现次数,并使用此计数添加一个新列。

words = ["I", "want", "please"]
data = pd.DataFrame({"col" : ["I want to find", "the fastest way", "to
count occurrence", "of words in a column", "Can you help please"]})
data["Count"] = data.col.str.count("|".join(words))
print(data)

此处显示的代码完全符合我的要求,但运行较长的文本和较长的单词列表需要很长时间。您能建议一种更快的方法来完成同样的事情吗?

谢谢

最佳答案

也许您可以使用计数器。如果您有多组单词来测试相同的文本,只需在应用Counter后保存中间步骤即可。由于这些计数的单词现在位于以该单词为键的字典中,因此测试该字典是否包含给定单词是一个 O(1) 操作。

from collections import Counter

data["Count"] = (
data['col'].str.split()
.apply(Counter)
.apply(lambda counts: sum(word in counts for word in words))
)
>>> data
col Count
0 I want to find 2
1 the fastest way 0
2 to count occurrence 0
3 of words in a column 0
4 Can you help please 1

关于python - 计算 Pandas 中单词出现次数的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58563181/

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