zoukankan      html  css  js  c++  java
  • pandas 透视表 pivot_table



    The function pandas.pivot_table can be used to create spreadsheet-style pivot tables.

    It takes a number of arguments

        data: A DataFrame object
        values: a column or a list of columns to aggregate
        index: a column, Grouper, array which has the same length as data, or list of them. Keys to group by on the pivot table index. If an array is passed, it is being used as the same manner as column values.
        columns: a column, Grouper, array which has the same length as data, or list of them. Keys to group by on the pivot table column. If an array is passed, it is being used as the same manner as column values.
        aggfunc: function to use for aggregation, defaulting to numpy.mean

        

    import numpy as np
    import pandas as pd
    import datetime
    
    df = pd.DataFrame({'A': ['one', 'one', 'two', 'three'] * 6,
                       'B': ['A', 'B', 'C'] * 8,
                       'C': ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
                       'D': np.random.randn(24),
                       'E': np.random.randn(24),
                       'F': [datetime.datetime(2013, i, 1) for i in range(1, 13)] +
                            [datetime.datetime(2013, i, 15) for i in range(1, 13)]})
                            
    
    pd.pivot_table(df, index=['A', 'B'], columns=['C'], values='D', aggfunc=np.sum)
    
    pd.pivot_table(df, index=['C'], columns=['A', 'B'], values='D', aggfunc='sum')
    
    pd.pivot_table(df, index=['A', 'B'], columns=['C'], values=['D','E'], aggfunc=np.sum)
    
    pd.pivot_table(df, index=['A', 'B'], columns=['C'], values=['D','E'], aggfunc=[np.sum])
    
    pd.pivot_table(df, index=['A', 'B'], columns=['C'], values=['D','E'], aggfunc={'D':len,'E':np.sum})
    
    pd.pivot_table(df, index=['A', 'B'], columns=['C'], values=['D','E'], aggfunc={'D':len,'E':[np.sum, np.mean]})
    
    pd.pivot_table(df, index=pd.Grouper(freq='M', key='F'), columns='C', values='D', aggfunc=np.sum) # 有点类似 resample



  • 相关阅读:
    ExtJs2.0学习系列(1)Ext.MessageBox
    PDF加水印
    ExtJs2.0学习系列(2)Ext.Panel
    负载均衡(续)
    位运算设置权限续(转)
    Excel导出问题解决方案(导出时前面的0自动被去掉)
    SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
    位运算设置权限
    WCF开发实战系列一:创建第一个WCF服务
    通过SQL Server的位运算功能巧妙解决多选查询
  • 原文地址:https://www.cnblogs.com/hhh5460/p/5597314.html
Copyright © 2011-2022 走看看