• Pandas 数据透视表


    pivot_table()

    pandas.pivot_table(data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False, sort=True)
    参数:
    data:dataframe格式数据
    values:需要汇总计算的列,可多选
    index:行分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的行索引
    columns:列分组键,一般是用于分组的列名或其他分组键,作为结果DataFrame的列索引
    aggfunc:聚合函数或函数列表,默认为平均值,可输入字符串、列表、字典
    fill_value:设定缺失替换值
    margins:是否添加行列的总计
    dropna:默认为True,如果列的所有值都是NaN,将不作为计算列,False时,被保留
    margins_name:汇总行列的名称,默认为All
    observed:是否显示观测值

    举例

    现有DataFrame二维数组sales_area如下,要求统计各地区每一年的销售额总额对比图表

    # 使用数据透视表整理数据
    sales_area = pd.pivot_table(sales_area,
                               index='Market',
                               columns='Order_Year',
                               values='Sales',
                               aggfunc='sum')
    sales_area
    

    # 使用Pandas直接绘制图表
    plt.style.use('ggplot')
    sales_area.plot(kind = 'bar',title='各地区分店2011年-2014年销售额综总合对比')
    

    与groupby()对比

    1、pivot_table()效率更高
    2、pivot_table()将参数放置在方法内

  • 相关阅读:
    椭圆形 上传图片预览 image preview (未整理版本)
    canvas学习笔记03:简单脉冲效果
    canvas学习笔记02:饼图&柱状图
    canvas学习笔记01:Math.sin & Math.cos
    java jdk 随机数阻塞问题
    家政/保洁 平台设计
    Lock和synchronized
    jvm 中java new 对象顺序
    Java 多线程原理
    java ftp上传下载,下载文件编码设置
  • 原文地址:https://www.cnblogs.com/Wendy-r/p/14961056.html
Copyright © 2020-2023  润新知