透视表的运用
pd.pivot_table( ['data', 'values=None', 'index=None', 'columns=None', "aggfunc='mean'", 'fill_value=None', 'margins=False', 'dropna=True', "margins_name='All'"],)
①参数说明
data:接收DataFrame。表示创建表的数据。无默认。
values:接收字符串。用于指定想要聚合的数据字段名,默认使用全部数据。默认为None。
index:接收string或list。表示行分组键。默认为None。
columns:接收string或list。表示列分组键。默认为None。
aggfunc:接收functions。表示聚合函数。默认为mean。
fill_value:接收boolearn。表示对空值的填充。默认为False。
margins:接收boolearn。表示汇总(Total)功能的开关,设为True后结果集中会出现名为“ALL”的行和列。默认为False。
dropna:接收boolearn。表示是否删掉全为NaN的列。默认为True。
margins_name:是对汇总(total)命名,当margin为True时,才有效,否则会出现报错。
②栗子
1 import pandas as pd 2 df = pd.DataFrame({"A": ["foo", "foo", "foo", "foo", "foo", 3 "bar", "bar", "bar", "bar"], 4 "B": ["one", "one", "one", "two", "two", 5 "one", "one", "two", "two"], 6 "C": ["small", "large", "large", "small", 7 "small", "large", "small", "small", 8 "large"], 9 "D": [1, 2, 2, 3, 3, 4, 5, 6, 7], 10 "E":[8,9,10,11,12,13,14,15,None]}) 11 df

以'A','B'为索引值,'D','E'为数值,C为列名进行聚合函数运算,得出如下结果。
1 import numpy as np 2 table = pd.pivot_table(df, values=['D','E'], index=['A', 'B'], 3 columns=['C'],aggfunc=np.sum,margins=True,\ 4 fill_value=0,margins_name='sum') 5 6 table

查看列名及索引

浙公网安备 33010602011771号