首页 > 编程语言 >#Python 利用pivot_table,数据透视表进行数据分析

#Python 利用pivot_table,数据透视表进行数据分析

时间:2023-01-16 20:14:09浏览次数:27  
标签:Python data 透视 aggfunc table pivot 数据

  前面我们分享了,利用python进行数据合并和连接,但是工作中,我们往往需要对数据进一步的聚合或者运算,以求最后的数据结果。

今天我们就来学习一下利用pandas模块,对数据集进行数据透视分析。

pivot_table释义

1.1  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, sort=True)

同样可以写成:
data.pivot_table(’ data列名’,index,columns,aggfunc…)

 

1.2   常用参数释义:

data:要进行数据透视的数据
values:要做计算的数据 ,对谁求和/求均值/计算个数等
index:确定行参数,可以是多个。单个’‘,多个[’‘,’‘]表示
columns:确定列参数,可以是多个。单个’‘,多个[’‘,’']
aggfunc:要计算的函数,mean求均值、sum求和、size计算个数
dropna:表示是否计算全为NaN的数据。bool类型,默认True 不计算
sort:对values结果进行排序。bool类型 默认False 升序

1.3   案例操作:

实际操作,首先导入pd 和 np 库

首先准备一个实验数据集,表头如下

 

 

import pandas as pd 
import numpy as np

 设置文件路径和输出路径

path = r'E:/360MoveData/Users/B/Desktop/py案例excel.xlsx'
path_out = r'E:/360MoveData/Users/B/Desktop/py案例数据输出11.xlsx'

1读取数据

data = pd.read_excel(path)
print(data.shape)
print(data.head())

2调用pivot_table模块,数据透视

'''
pd.pivot_table来调用数据透视,
index可以看做是pq中的分组依据字段
values可以看做是pq中的列字段
aggfunc分别是求和aggfunc=(np.sum),求平均aggfunc=(np.mean),计数aggfunc=(len),可以看做是excel透视表的值字段设置-计算类型
pivot_table模组的意义在于,大数据下的维度收缩,当数据源过于庞大时,通过py处理csv合集,解决处理过程的大数据问题,而pivot_table
可以在最后一步进行数据维度收缩,这有利于我们将大数据转为较小的数据集,最终配合excel去进行数据分析
'''

data1 = pd.pivot_table(data,
                       values =["入店数","下单数"],
                       index =["日期","门店所在城市"],
                       aggfunc=(np.sum)
                      ) 

输出结果如下:

配合上篇文章分享的数据合并功能,我们可以自由的对零散的数据集,进行组合、拼接,配合今天学的数据透视,又可以对合并后的数据集进行分组统计。
这个过程类似  分散-集中-压缩处理,在博主的工作中相当实用,希望有兴趣的大家也可以应用到实际工作中。
我是simone,期待下次的分享。(下次会分享powerbi相关的可视化对象内容)

标签:Python,data,透视,aggfunc,table,pivot,数据
From: https://www.cnblogs.com/simone331/p/17055081.html

相关文章

  • Python协程与异步编程
    同步synchronous,异步asynchronous,并发concurrent,并行parall同步是一种依赖关系。并行是假同时,并发是真同时进程process,线程thread,协程进程是资源分配的单位,线程是协......
  • python高级语言特性
    装饰器nothingbuta语法糖语法糖(Syntacticsugar):也译为糖衣语法,是由英国计算机科学家彼得·约翰·兰达(PeterJ.Landin)发明的一个术语,指计算机语言中添加的某种语法,这......
  • python—测试工具UI实践(1)—需求分析及环境部署
    环境部署:安装python安装pycharm工作任务:需求:研发一个测试工具,构造随机测试数据技术要求:基于python语言开发成果物:正常使用分享交流:分享开发过程中的收获 ......
  • python方法(函数)
    python方法(函数)定义格式def方法名(参数1,参数2,参数3):#具体实现return#返回值参数默认值defdesc(name='no-name',age=0):print("%s%d"%(name,ag......
  • Python入门 Python自学路线 Python如何学习
    本文介绍Python入门Python自学路线Python如何学习。先说点题外话吧:首先呢,我刚开始接触编程的时候,学的是C,那时候Python还没有这么火,后来学了C++,PHP,Java,前端。接触js......
  • python基础
    python基础数据类型和变量Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量......
  • elementUI 的el-table中使用了动态列出现高度塌陷
    使用动态列的表格初次加载时出现塌陷解决方法首先检查你的布局是否有问题,具体方法是页面生成后发生高度塌陷再使用控制台缩放页面大小时,引起页面重绘后高度恢复正常,这时......
  • python2.7错误:Microsoft Visual C++ 9.0 is required解决办法
     distutils.errors.DistutilsPlatformError:MicrosoftVisualC++9.0isrequired.Getitfromhttp://aka.ms/vcpython27`点开连接404,不提供下载,可取github上下载htt......
  • Centos7 配置iptables NAT端口转发
    打开端口转发的功能1,首先开启IP转发功能,默认是关闭的。临时修改:[root@localhost~]#echo1>/proc/sys/net/ipv4/ip_forward修改过后就马上生效,但如果系统重启后......
  • Linux安装Python3
    Linux安装Python3安装依赖包首先安装gcc编译器,gcc有些系统版本已经默认安装,通过gcc--version查看,没安装的先安装gcc:yum-yinstallgcc安装其它依赖包yumins......