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



  • 相关阅读:
    微信小程序支付、退款
    阿里云虚拟主机配置HTTPS
    日本的医保制度
    贫困与抑郁、焦虑之间的联系与机制
    opencv实战-识别信用卡
    pandas常用命令-学习整理
    kubernates部署(二进制包部署方式)
    kubernates部署(kubeadm 部署方式)
    MySQL的锁机制
    Unity UI适配 之 GridLayoutGroup组件下的内容适配(进度条适配)
  • 原文地址:https://www.cnblogs.com/hhh5460/p/5597314.html
Copyright © 2011-2022 走看看