Python 通过不为3列工作来进行分组

Python 通过不为3列工作来进行分组,python,pandas,Python,Pandas,我试图通过a、b、c列的结果来计算组中d列的和 虽然我在c列中有两个不同的值,但它仍然不是同一组的一部分,结果总和计算不正确 请建议。 我使用的代码是: 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.dtype

我试图通过a、b、c列的结果来计算组中d列的和

虽然我在c列中有两个不同的值,但它仍然不是同一组的一部分,结果总和计算不正确

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

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对象


在将c列的数据类型从object更改为int之后,d浮动64

,并且工作正常


现在b仍然是对象,所以只在更改c之后寻找它工作的原因。

这肯定需要a。从移动设备添加它需要一定的时间,但我正在这样做。您需要添加数据帧示例,您将得到问题。您的示例可能很小,但它不完整或不可验证。包括一些输入和输出示例,以及预期的输出和您获得的输出。您需要显示原始输入数据、创建df的代码、groupby和期望的结果,以及为什么您的上述代码没有提供您想要的,我们无法从您的描述中猜出为什么它是错误的