当前位置: 首页 > article >正文

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   6
           Y     2   7
2021-01-02 X     3   8
           Y     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

http://www.kler.cn/a/466136.html

相关文章:

  • 音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介
  • 【openwrt】OpenWrt 路由器的 802.1X 动态 VLAN
  • 【CSS】第二天 画盒子、文字控制属性
  • halcon三维点云数据处理(五)创建代表工具和机器人底座的3D模型
  • Springboot 下载附件
  • 应用架构模式
  • 解决 `pnpm install` 出现 `ERR_PNPM_ENOENT` 错误的方法
  • 【前端】掌握 JavaScript Map:从入门到精通
  • “善弈者”也需妙手,Oclean欧可林:差异化不是说说而已
  • 适用于小白的程序报错提问 AI 模板
  • scala概念
  • Linux实验报告14-Linux内存管理实验
  • Cpp::哈希表的两种模拟实现方式(27)
  • 肉鸽游戏的魅力
  • 1.2[hardware][day2]
  • 2025考研江南大学复试科目控制综合(初试807自动控制原理)
  • ArcgisServer过了元旦忽然用不了了?许可过期
  • RS485方向自动控制电路分享
  • 【Ubuntu20.04】Apollo10.0 Docker容器部署+常见错误解决
  • 景区自助售卡机与定点酒店的合作双赢之策-景区酒店方案
  • kafka怎么保证顺序消费?
  • 新年股市首个交易日表演“跳水赛”旁观
  • AI数据标注师理论部分考试题库 - 500题
  • OSPF特殊区域(open shortest path first LSA Type7)
  • C++并发编程之内存顺序一致性
  • 一文大白话讲清楚CSS性能优化