透视表

什么是透视表


pandas提供了类似于Execl的透视表功能。为了更好的展示数据,临时的将原有的表结构进行了变更,根据这个变化数据也会变化。

数据准备


这里我事先准备了一个execl文件,并将其转化为dataframe。
透视表

生成透视表


默认情况

透视表的方法是:pivot_table
透视表

这里,指定了生成透视表时的index为name。可以看到,生成的透视表对index进行了聚合,去除了重复,并且每一项都是平均值。

例如Trantow-Barrows这一行,在原始数据中,它对应的price为:30000、10000和5000,聚合后取平均值为15000,Quantity这一列同理。

指定聚合的方法

通过参数aggfunc指定聚合的方法:
透视表

可以看到,还是Trantow-Barrows这一行,现在他的price和Quantity都是原始数据的和。

按多个index生成透视表

透视表

还有就是如果对数据结构预先比较了解,还可以这样:
透视表

一个Manager下可能有多个Rep,这样显示就比较清楚。

指定显示的列

除了index,还可以通过values参数来制定显示哪些列:
透视表

这里还是没有指定aggfunc,所以是默认取平均值。

指定column

透视表

可以看到在price和quantity下,又根据product把它们再次细分。

但是这个表中有一些NaN的值,可以通过参数fill_value进行填充:
透视表