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

pandas 数据透视表

数据的透视表

  • 数据的透视表:

    • 使用函数 pivot_table( )

      # 引用pandas
      import pandas as pd
      # pivot_table 使用
      pd.pivot_table(data,values,index,aggfunc,fill_value,columns)
      	参数1:data = DataFrame的源数据
          参数2:values = '要进行聚合操作的列'
          参数3:index = '进行分组的数据列' 最终显示到透视表的行
          参数4:aggfunc = '要进行的聚合操作' 默认值为求平均值 'mean'
          参数5:fill_value = 空值替换的数据 如果结果有空值,则指定要填充的字段
          参数6:columns = '列索引'按列索引进行聚合操作
      
  • 例如:

    import pandas as pd
    data = {
        "班级":["一班","一班","二班","二班","三班","三班"],
        "学生":["小红","小红","小强","小李","小王","小赵"],
        "科目":["语文","数学","语文","数学","语文","数学"],
        "成绩":[89,78,88,92,93,85]
    }
    
    df = pd.DataFrame(data)
    
    # 按班级 汇总平均成绩  =>  按班级分组,得到每个班级的平均成绩
    df1 = pd.pivot_table(data = df,values = '成绩',index = '班级',aggfunc = 'mean')
    print(df1)
    

    结果

          成绩
    班级      
    一班  83.5
    三班  89.0
    二班  90.0
    

    使用columns案例

    import pandas as pd
    data = {
        "班级":["一班","一班","二班","二班","三班","三班"],
        "学生":["小红","小红","小强","小李","小王","小赵"],
        "科目":["语文","数学","语文","数学","语文","数学"],
        "成绩":[89,78,88,92,93,85]
    }
    
    df = pd.DataFrame(data)
    
    # 求每个班的科目平均成绩
    df2 = pd.pivot_table(data = df,values = '成绩',index = '班级',columns = '科目',)
    print(df2)
    

    结果:

    科目    数学    语文
    班级
    一班  78.0  89.0
    三班  85.0  93.0
    二班  92.0  88.0
    
  • 案例2:

    import pandas as pd
    data = {
        "产品":["A","B","A","B","A","B"],
        "区域":["东区","东区","西区","西区","东区","西区"],
        "销售额":[200,160,300,234,450,321],
        "数量":[19,18,15,12,13,10]
    }
    
    df = pd.DataFrame(data)
    print("源数据:\n",df)
    # 创建透视表,按区域分组,计算每个区域的销售总额和数量
    df1 = pd.pivot_table(df,values = ['销售额','数量'],index = '区域',aggfunc = {'销售额':'sum','数量':'sum'})
    print(df1)
    

    结果:

    源数据:
       产品  区域  销售额  数量
    0  A  东区  200  19
    1  B  东区  160  18
    2  A  西区  300  15
    3  B  西区  234  12
    4  A  东区  450  13
    5  B  西区  321  10
        数量  销售额
    区域
    东区  50  810
    西区  37  855
    

相关文章:

  • Win10环境借助DockerDesktop部署单节点Redis6
  • SwiftUI之状态管理全解析
  • tcc编译器教程1 配置tcc编译器环境
  • Python面向对象编程入门:从类与对象到方法与属性
  • Deepseek 模型蒸馏
  • Kotlin语言特性(一):空安全、扩展函数与协程
  • 【华三】SR-MPLS TE 静态配置实验
  • 华为OD-2024年E卷-分批萨[100分]
  • Go 接口使用
  • 计算机毕业设计SpringBoot+Vue.js基于JAVA语言的在线考试与学习交流网页平台(源码+文档+PPT+讲解)
  • 【数据结构】红黑树插入(手算)
  • 2024年时间序列预测领域的SOTA模型总结
  • 【Linux】:网络层(IP 协议 网络通信 全球网络 路由转发)
  • server can‘t find dns01.test.com: SERVFAIL
  • 《Python实战进阶》No 11:微服务架构设计与 Python 实现
  • 算法004——盛最多水的容器
  • 【前端基础】Day 6 CSS定位
  • 数据库原理与使用全解析:从理论到实践
  • React低代码项目:问卷编辑器 I
  • 什么是Agentic AI?(Doubao-1.5-pro-32k 大模型开启联网回答)
  • 网站建设合同 费用/正规的教育机构有哪些
  • 做h5的网站eup/成都网络营销公司
  • 期货网站做模拟/网站换了域名怎么查
  • 长沙专业做网站公司有哪些/有没有免费的seo网站
  • 网站黑名单查询/seo公司哪家好用
  • 美食网站怎么做/seo模拟点击