python - 在 Pandas 中通过不同方式聚合列来使用 groupby

标签 python pandas

我有以下数据框:

 df = pd.DataFrame([["John", 1234 , 10], 
                    ["John",1234, 5] , 
                    ["Sally" , 1235 , 20] , 
                    ["Sally" , 1235, 5]], 
columns = ["Name", "ID", "Amount"])

我想按名称对此数据帧进行分组。我可以这样做:

group = df.groupby('Name').agg('sum')

这会给我:

         ID  Amount
Name               
John   2468      15
Sally  2470      25

但是,我想按 ID 列的 'count'Amount< 列的 'sum' 来聚合列/强>。看起来像:

         ID  Amount
Name               
John     2      15
Sally    2      25

我该怎么做?

最佳答案

>>> df.groupby('Name').agg({'ID': 'count', 'Amount': 'sum'})
       Amount  ID
Name             
John       15   2
Sally      25   2

关于python - 在 Pandas 中通过不同方式聚合列来使用 groupby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422388/

相关文章:

python - 从具有相同索引和列的两个 pandas 数据帧执行计算的最快方法

python - pandas 如何根据其他列填充 NaN/None 值?

python - 与 pandas 数据框中的日期绘制保持一致

Python matplotlib——删除超出 Axis 限制的数据

python - 网页抓取 - 进入第 2 页

python - 在 Python 和 C++ 之间传输数据而不写入文件 Windows 和 Unix

python - Celery:防止在排队的任务过多时添加更多任务

python - 根据另一个 Pandas 数据框中的重叠范围以及同一范围的总和值映射 2 列的范围

python - 将值更改为 pandas 中另一列的相应值

python - 如何制作Python图像 'fit'这个数字?