数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,其所进行的计算与数据跟数据透视表中的排列有关。
在Excel中我们可以轻而易举地实现数据透视表功能,“插入——数据透视表——拖动选项——完成透视表”。
那么在Python中也能实现数据透视表功能吗?答案是肯定的。本文旨在介绍Python Pandas中实现数据透视表功能的函数Pivot_table,并用实例解析它的参数设置及使用方法。
首先,观看官方文档对pandas.pivot_table函数的解释:
pandas.pivot_table (data, values=None, index=None, columns=None, aggfunc='mean', fill_value=None, margins=False, dropna=True, margins_name='All', observed=False)
各个参数的解释如下:
参数太多难理解?没关系,接下来将以实例的方式解析pivot_table函数及参数来帮助大家理解并使用。
案例实践:
1、导入相关库
import pandas as pd
import numpy as np
python实现透视表功能的pivot_table函数主要需要两个库pandas和numpy。
2、导入要进行透视的数据文件
df=pd.read_excel("C:\\Users\\Administrator\\Desktop\\pivot_table\\销售数据源.xlsx")
导入excel xlsx格式的文件需要使用read_excel函数,若是csv格式则使用read_csv函数,括号内为文件路径,保存为df。
3、查看刚刚导入数据的情况
df.head()
以上结果显示,数据成功导入了python
4、以账号站点归类做个简单的透视表
pd.pivot_table(df,index=["站点"])
数据透视成功。这段代码pivot_table有两个函数,一个是df,另一个是index。df是之前导入的数据,index是要设置的索引。
但是还有两个问题:
一是team和周数不应该出现在这里的,猜想原因可能是python误将team和周数的数字识别为数值并对其进行了运算但我们并不需要。
二是销售额小数点后的尾数太多了,能不能保留小数点后两位。
解决方法为,转换team