1. 程式人生 > >26、python資料表透視分析、交叉分析、實現透視表功能

26、python資料表透視分析、交叉分析、實現透視表功能

交叉分析:通常用於分析兩個或兩個以上,分組變數之間的變數關係,以及交叉表形式進行變數間關係的對比分析

定量、定量分組交叉

定量、定性分析交叉

定性、定性分組交叉

1  交叉統計函式

pivot_table(values,index,columns,aggfunc,fill_value)

引數說明:

    values:透視表中的值
    index:資料透視表中的行
    columns:資料透視表中的列
    aggfunc:統計函式(求和、計數、平均值)
    fill_value:Na值得統一體換
    
2  案例

import pandas

data=pandas.read_csv(
        'D:\\DATA\\pycase\\5.4\\data.csv'       
           )

# 分組檢視
# bins 分組的劃分陣列

bins=[
      min(data.年齡)-1,20,30,40,max(data.年齡)+1
      ]

# 自定義標籤
import numpy

labels=[
        '20歲及以下','21歲到30歲','31歲到40歲','40歲以上'
        ]

data['年齡分層']=pandas.cut(
        data.年齡,
        bins,
        labels=labels
        )

## 進行交叉分析

ptResult=data.pivot_table(
        values=['年齡'],
        index=['年齡分層'],
        columns=['性別'],
        aggfunc=[numpy.size]
        )
        
 ### 特別注意,去掉中括號,變為如下: 否則;列標籤為aggfunc、values以及colunn的組合。
 
 正確:
 
 ptResult=data.pivot_table(
        values='年齡',
        index='年齡分層',
        columns='性別',
        aggfunc=numpy.size
        )