透视表的运用

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

 查看列名及索引

posted on 2020-03-05 16:41  LiErRui  阅读(133)  评论(0)    收藏  举报

导航