我正在尝试在熊猫中进行汇总,以给出每个值出现的次数。例如,说我有这个数据框:
a b
0 1 1
1 1 1
2 1 2
3 2 1
4 2 2
5 2 2
我想要的输出是(类似):
a b
1 Counter({1: 2, 2: 1})
2 Counter({1: 1, 2: 2})
(我想要一个计数器的原因是,在以后的操作中,我想将它们加起来)。
我试图这样做:
df2 = df.groupby('a').agg({'b': lambda x: Counter(x)})
但是,结果没有按预期返回。我得到的是:
a b
1 <built-in method values of Counter object at 0x0000026A7722D780>
2 <built-in method values of Counter object at 0x0000026A7722D990>
我也尝试将Counter(list(x))
和Counter(x.value_counts())
用于我的lambda函数,但结果相似。
有什么方法可以在我的柜台买东西吗?
答案 0 :(得分:0)
只是为了结束循环,我将熊猫从0.20.3升级到了0.23.3,以上代码起作用了。