pandas groupby专栏总结了Counter的表现

时间:2018-03-05 07:05:09

标签: python pandas dataframe counter pandas-groupby

我有一个数据框,如:

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行并不需要那么多时间。

我做错了什么?我怎样才能改善这个?

1 个答案:

答案 0 :(得分:2)

尝试使用稍微改进的this solution

SELECT n.Name, s.id, s.Score 
FROM Names n
    LEFT OUTER JOIN Scores s
      ON n.Name = s.Name 
         AND s.score < 12