Python 如何使用groupby和sum

Python 如何使用groupby和sum,python,pandas,sum,Python,Pandas,Sum,我正在处理一个数据帧,在这个数据帧中我必须分组并求和。我阅读的方式是,我必须先分组,然后选择要求和的列。先使用groupby然后选择要求和的列,或者先选择要求和的列然后使用groupby,两者之间有什么区别吗 grouped_df = df.groupby('Manager')[['Transaction', 'Defects']].sum() grouped_df = df[['Transaction','Defects']].groupby('Manager').sum() 上述代码是否

我正在处理一个数据帧,在这个数据帧中我必须分组并求和。我阅读的方式是,我必须先分组,然后选择要求和的列。先使用groupby然后选择要求和的列,或者先选择要求和的列然后使用groupby,两者之间有什么区别吗

grouped_df = df.groupby('Manager')[['Transaction', 'Defects']].sum()

grouped_df = df[['Transaction','Defects']].groupby('Manager').sum()
上述代码是否相同或有时会产生不同的结果

grouped_df = df[['Transaction','Defects']].groupby('Manager').sum() 
将产生错误,因为数据帧df[['Transaction','Defects']中不包含'Manager'

第一行是正确的

就我个人而言,我更喜欢使用agg方法进行分组,您应该看看。您可以使用不同的聚合函数。例:

grouped_df = df.groupby('Manager').agg({'Transaction': 'sum','Defects': 'mean'})

第二行通常会产生错误,因为
'Manager'
不是
df[['Transaction','Defects']]
的一列。您创建了测试数据帧吗?在这种情况下,创建示例行并运行将非常有用。好的,谢谢。在我的例子中,这两种方法都没有产生任何错误,所以,我想我会在这里提问。我也相信第一种方法是正确的。如果我这样做,我想它也会起作用。分组的_df=df['Transaction','Defects']].groupby(df['Manager']).sum()