zoukankan      html  css  js  c++  java
  • 透视表和交叉表

     
     
     
    import numpy as np
    import pandas as pd
    from pandas import Series,DataFrame
     
    df = DataFrame({'sex':['man','man','women','women','man','women','man','women','women'],
                   'age':[15,23,25,17,35,57,24,31,22],
                   'smoke':[True,False,False,True,True,False,False,True,False],
                   'height':[168,179,181,166,173,178,188,190,160]})
    df
     
     
    Out[3]:
     ageheightsexsmoke
    0 15 168 man True
    1 23 179 man False
    2 25 181 women False
    3 17 166 women True
    4 35 173 man True
    5 57 178 women False
    6 24 188 man False
    7 31 190 women True
    8 22 160 women False
     

    透视表

    各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。它根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中

     

    行分组透视表 设置index参数

     
     
     
    # 默认得到一个平均值
    df.pivot_table(index=[df.sex,df.smoke])
     
     
    Out[4]:
      ageheight
    sexsmoke  
    manFalse 23.500000 183.5
    True 25.000000 170.5
    womenFalse 34.666667 173.0
    True 24.000000 178.0
     

    列分组透视表 设置columns参数

     
    df.pivot_table(columns=df.smoke)
     
     
    Out[5]:
    smokeFalseTrue
    age 30.2 24.50
    height 177.2 174.25
     

    行列分组的透视表 同时设定index、columns参数

    In [9]:
     
     
     
     
     
    df.pivot_table(index=df.sex,columns=df.smoke)
     
     
    Out[9]:
     ageheight
    smokeFalseTrueFalseTrue
    sex    
    man 23.500000 25.0 183.5 170.5
    women 34.666667 24.0 173.0 178.0
     

    aggfunc:设置应用在每个区域的聚合函数,默认值为np.mean

    In [10]:
     
     
     
     
     
    df.pivot_table(index=df.sex,aggfunc=np.sum)
     
     
    Out[10]:
     ageheightsmoke
    sex   
    man 97 708 2.0
    women 152 875 2.0
     

    fill_value:替换结果中的缺失值

     

    交叉表

    是一种用于计算分组频率的特殊透视图,对数据进行汇总

     

    pd.crosstab(index,colums)

    • index:分组数据,交叉表的行索引
    • columns:交叉表的列索引
     
    pd.crosstab(index=df.sex,columns=df.smoke)
     
     
    Out[6]:
    smokeFalseTrue
    sex  
    man 2 2
    women 3 2
  • 相关阅读:
    Using PL/SQL Control Structures
    Oracle JDBC
    PL/SQL 命名规则
    PL/SQL User's Guide and Reference:PL/SQL Architecture
    JAVA中调用存储过程和函数
    Oracle正则表达式
    java根据网卡名称获取IP
    开放通知接口,执行文件同步操作
    Jquery UI Dialog Demo
    esapi2.0GA.jar的license
  • 原文地址:https://www.cnblogs.com/ws0751/p/8361362.html
Copyright © 2011-2022 走看看