主要利用pandas包中的pd.pivot_table()函数。
male_emo=pd.pivot_table(emo,index='year',columns='emotion',values={'男用户','女用户'},aggfunc='sum',margins=True,fill_value='0',dropna=False)
emo–数据透视的基本表
index—数据透视表的行
colunms–数据透视表的列
values–数据透视表的值
aggfunc–对值进行的操作函数
fill_value–对空白处填充
dropna–是否删除缺失值,若为True,缺失值所在的行将全部删除
margins–是否显示合计列(行|列的总计值)
其中行、列、值、操作函数都可以设置多个。
male_emo=pd.pivot_table(emo,index='year',columns='emotion',values={'男用户','女用户'},aggfunc={'sum','mean','size'},margins=True,fill_value='0',dropna=False)
以上的用法默认对每一个value执行所有的操作函数,但当我们要对不同的value执行不同的操作函数时,
aggfunc={'男用户':'sum','女用户':'size'}