pandas数据透视(pivot_table)的方法
import pandas as pd
result = pd.pivot_table(table,index=['column1','column2'],values=['column3'],aggfunc=['count'])
table为需要做聚合处理的原表,index中的参数为table中的列名,这些字段需要具备筛选能力。values中的参数为table中的列名,是需要聚合的字段。aggfunc中的参数表示聚合方法,一般有计数、求和、平均等。
聚合后的结果不可以直接使用,因为index中的参数会变成行索引,values和aggfunc中的参数会合并为两级列索引,如果直接将result导出为csv文件,无法获得我们想要的结果。因此需要进行如下操作:
result = result.reset_index()
result.columns = result.columns.droplevel(1)
此时index和values的参数会成为新表的字段,droplevel(1)中的1表示选择两级列索引中的第一级,即values中的参数。此时导出的csv文件则为正确结果。
result.to_csv("D:\\aaa\\bbb\ccc\\result.csv", index=False, header=None)
将结果导出为csv文件,index=False表示不将索引导出,header=None表示不需要列名。