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
)