首页 > 解决方案 > 如何聚合(总和、平均值等)值并基于此创建新的 Pandas 数据框?

问题描述

<pandas.core.frame.DataFrame>我有一个包含多个日期列的 Pandas 数据框。

Year           Month          Count1    Count2
2015-01-01     2015-05-01     11        23
2015-01-01     2015-03-01     13        24
2020-01-01     2020-05-01     12        22
2020-01-01     2020-05-01     43        13
...

因此,它表示第二行在月份类别中属于 3 月,在年份类别中属于 2015 年。我想要做的是创建一个新的数据框来聚合(让我们求和)属于同一类别的行。

例如,如果我想按年份汇总

Month          Count1    Count2
2015-05-01     11        23
2020-01-01     55        35
...

按月,它会像

Month          Count1    Count2
2015-01-01     24        47
2015-03-01     13        24
2020-05-01     55        35
...

有什么帮助吗?

标签: pythonpandasdataframe

解决方案


这个操作可以通过;

agg_col = "Year"

new_df = df.groupby(by=agg_col, as_index=False).agg({"Count1": "sum", "Count2": "sum"})

如果您想按月分组,您可以更改agg_col为。Month


推荐阅读