【发布时间】:2018-03-05 07:05:08
【问题描述】:
我有一个数据框,类似于:
index name message_counter
1 AA Counter({'hello':1})
2 BB Counter({'how':1, 'are':1, 'you':1})
3 BB Counter({'how':1})
4 AA Counter({'hello':1})
5 CC Counter({'hello':1})
我想要每个唯一名称的所有计数器的总和。 所以我做了:
df.groupby('name')['message_counter'].sum()
并得到了正确的答案。类似:
name
AA {'hello':2}
BB {'how':2, 'are':1, 'you':1}
CC {'hello':1}
但在我的数据集上它出奇地慢。它经历了 6 个独特的名称,并通过 33,000 个计数器(我的数据框中的行数)求和,这并不多,但我花费的时间比我预期的要长。大约 50 多秒,整个 180 行并不需要那么多时间。
我做错了什么?我该如何改进?
【问题讨论】:
标签: python pandas dataframe counter pandas-groupby