gpt4 book ai didi

python - 如何计算 Pandas 列中逗号分隔的重复值?

转载 作者:行者123 更新时间:2023-11-28 20:33:38 24 4
gpt4 key购买 nike

我有一个像这样的数据框列:

1    Applied Learning, Literacy & Language
2 Literacy & Language, Special Needs
3 Math & Science, Literacy & Language
4 Literacy & Language, Math & Science
6 Math & Science, Applied Learning
7 Applied Learning
8 Literacy & Language
10 Math & Science...

每一行都有逗号分隔的值。我想要的是计算所有唯一值的出现次数。例如:Math & Science 出现了 4 次。所以 Math & Science 的计数应该是 4。我尝试了以下代码:

cato=response['Category'].str.split(',')
cat_set=[]
for i in cato.dropna():
cat_set.extend(i)
plt1=pd.Series(cat_set).value_counts().sort_values(ascending=False).to_frame()

但问题是,这段代码适用于小型数据集,但对于大型数据集却需要花费大量时间。对此有什么解决方案吗?

谢谢

最佳答案

尝试使用 collections.Counter ,专为高性能任务而构建。

假设你开始于

df = pd.DataFrame({'Category': ['Applied Learning, Literacy & Language', 'Literacy & Language, Special Needs']})

然后做

import collections
import itertools
>>> collections.Counter(itertools.chain.from_iterable(v.split(',') for v in df.Category))

Counter({' Literacy & Language': 1,
' Special Needs': 1,
'Applied Learning': 1,
'Literacy & Language': 1})

关于python - 如何计算 Pandas 列中逗号分隔的重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50252761/

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