1. 程式人生 > >Python中的交叉分析pivot_table

Python中的交叉分析pivot_table

交叉分析

通常用於分析兩個或兩個以上,分組變數之間的關係,以交叉表形式進行變數間關係的對比分析;
從資料的不同維度,綜合進行分組細分,進一步瞭解資料的構成、分佈特徵。

交叉計數函式:
pivot_table(values,index,columns,aggfunc,fill_value)

引數說明:
values:資料透視表中的值
index:資料透視表中的行
columns:資料透視表中的列
aggfunc:統計函式
fill_value:NA值的同一替換

#相當於excel中的資料透視表功能

import numpy
import pandas

data = pandas.read_csv(
    'C:/Users/ZL/Desktop/Python/5.4/data.csv'
)

bins = [
    min(data.年齡)-1, 20, 30, 40, max(data.年齡)+1
]
labels = [
    '20歲以及以下', '21歲到30歲', '31歲到40歲', '41歲以上'
]

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

ptResult = data.pivot_table(
    values=['年齡'], 
    index=['年齡分層'], 
    columns=['性別'], 
    aggfunc=[numpy.size]
)

Out[2]: 
         size       
           年齡       
性別          女      男
年齡分層                
20歲以及以下   111   1950
21歲到30歲  2903  43955
31歲到40歲   735   7994
41歲以上     567    886