pandas groupby不适用于3列

时间:2015-09-29 09:06:39

标签: python pandas

我正在尝试按列a,b,c的结果计算组中列d的总和。

虽然我在列c中有2个不同的值,但它仍然不是同一组的一部分,因此得不到正确的总和。

请建议。 我正在使用的代码是:

s  = df.groupby(['a','b','c'])['d'].sum()

a    b    c    d

1    ab  123   1

1    ab  123   2

输出应为:

1    ab  123   3

但输出是

1    ab  123   1

         123   2

df.dtypes

一个int64

b对象

c对象

d float64

1 个答案:

答案 0 :(得分:0)

将列c的数据类型从object更改为int后,它就可以工作。

现在b仍然是对象,因此在仅更改c之后查找其工作原理。