python交叉表创建的三种方式

简单介绍python中创建交叉表的三种方式。

首先导入数据:

>>import pandas as pd
>>f= open("ma_resp_data_temp.csv")
>>df = pd.read_csv(f)
>>df.head()
python交叉表创建的三种方式_第1张图片
image.png

方法1:pd.crosstab

>> pd.crosstab(df.resp_flag , df.GEND) #参数1为行 参数2为列
python交叉表创建的三种方式_第2张图片
image.png

方法2:pivoit_table

>> df.pivot_table(values='KBM_INDV_ID',index='resp_flag',columns='GEND',aggfunc='count') #指定行 列 值
python交叉表创建的三种方式_第3张图片
image.png

方法3 groupby

>> df.groupby(['resp_flag','GEND']).size().unstack(1) #分组后转换
python交叉表创建的三种方式_第4张图片
image.png

三种方式结果一致

画个柱状图如下

>>import matplotlib.pyplot as plt
>>pd.crosstab(df.resp_flag , df.GEND).plot(kind='bar')
>>plt.show()
python交叉表创建的三种方式_第5张图片
image.png

你可能感兴趣的:(python交叉表创建的三种方式)