欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > df.groupby(pd.Grouper(level=1)).sum()

df.groupby(pd.Grouper(level=1)).sum()

2025/2/21 3:36:43 来源:https://blog.csdn.net/u013565133/article/details/144911692  浏览:    关键词:df.groupby(pd.Grouper(level=1)).sum()

df.groupby(pd.Grouper(level=1)).sum() 在 Python 中的作用是根据 DataFrame 的某一索引级别进行分组,并计算每个分组的总和。具体来说:

  1. df.groupby(...):这是 pandas 的分组操作,按照指定的规则将 DataFrame 分组。

  2. pd.Grouper(level=1):这里的 pd.Grouper 用来指定按索引的某一层级进行分组。level=1 表示按索引的第二级进行分组。索引层级是从 0 开始的,所以 level=1 指的是第二个索引级别。

  3. .sum():在分组后,使用 .sum() 来计算每个分组中所有数值型列的和。

示例:

假设你有一个具有多级索引的 DataFrame,像这样:

import pandas as pd# 创建一个带有多级索引的示例 DataFrame
data = {'A': [1, 2, 3, 4, 5],'B': [6, 7, 8, 9, 10]
}
index = pd.MultiIndex.from_tuples([('2021-01-01', 'X'),('2021-01-01', 'Y'),('2021-01-02', 'X'),('2021-01-02', 'Y'),('2021-01-03', 'X')
], names=['Date', 'Group'])df = pd.DataFrame(data, index=index)
print(df)

输出将是:

                A   B
Date       Group      
2021-01-01 X     1   6Y     2   7
2021-01-02 X     3   8Y     4   9
2021-01-03 X     5  10

当你执行 df.groupby(pd.Grouper(level=1)).sum() 时:

result = df.groupby(pd.Grouper(level=1)).sum()
print(result)

结果将会是:

        A   B
Group         
X      9  24
Y      6  16

解释:

  • 这里 DataFrame 根据 Group 索引级别进行分组。
  • 然后,AB 列的数值在每个分组内被求和。X 组的和是 A=9B=24Y 组的和是 A=6B=16

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词