一般来说mysql中存储的数据是面向列式的,这种格式非常善于新增数据或者删除数据,如果数据量比较大的话,还可以很方便地按行进行拆分,然后分片处理。

  但是在数据分析时,我们更期望日期是行索引,评分是列索引,中间每个单元格的值是对应的数据。那如何将左边的数据变成右边的数据形式呢?

  这就是将列示数据变成二维交叉形式,便于分析,这就叫做重塑透视

经过统计得到多维度指标数据

  在实际的场景中经常需要指定多个维度,计算聚合后的指标。比如像统计电影评分数据集中每个月份的每种评分(1-5分)被评分多少次。

  读取数据,并利用pandas中的to_datetime方法将时间转换为日期的形式:

  此时pdata的格式变成datetime64[ns]格式,转换成这种格式的好处在于可以直接使用pandasdt.month得到月份,之后按照月份和打分等级进行多层groupby,之后挑选出"UserID"这一列,再调用聚合方法agg,调用np.sum进行计数。

  对于上述这样的格式数据,想要去查看按月份,不同评分的次数趋势,是没法实现的,需要将数据变换成每个评分是一列(x轴是月份,y轴是评分,中间是数值这种二维形式)。

使用unstack实现数据二维透视

  调用unstack()方法可以实现:对比按照月份的不同评分的数量趋势:

  从上图所示结果可以看出,大家在一月份对评分不感兴趣,在八月份评分最多。

  unstackstack是互逆操作:

使用pivot简化透视

  调用pivot方法直接指定xy,和数值这三列可以直接实现数据的透视:

  pivot方法相当于对df使用set_index创建分层索引,然后调用unstack

Pandas系列(十五)stack和pivot实现数据透视相关推荐

  1. Pandas数据分析—使用stack和pivot实现数据透视

    15.Pandas使用stack和pivot实现数据透视 文章目录 15.Pandas使用stack和pivot实现数据透视 前言 一.经过统计得到多维度指标数据 二.使用unstack实现数据的二维 ...

  2. 数学之美 系列十五 繁与简 自然语言处理的几位精英

    数学之美 系列十五 繁与简 自然语言处理的几位精英 我在数学之美系列中一直强调的一个好方法就是简单.但是,事实上,自然语言处理中也有一些特例,比如有些学者将一个问题研究到极致,执著追求完善甚至可以说完 ...

  3. Power BI(十五)power pivot之Summarize函数

    Power BI(十五)power pivot之Summarize函数 我们想统计订单金额的销售金额区间分布,想得到的效果图如下 如下图一笔订单会有多笔记录 传统的方法 生成数据透视表 复制到一个新表 ...

  4. ELK系列(十五)、Elasticsearch核心原理一篇全搞定

    目录 Lucene 介绍 核心术语 如何理解倒排索引? 检索方式 分段存储 段合并策略 Elasticsearch 核心概念 节点类型 集群状态 3C和脑裂 1.共识性(Consensus) 2.并发 ...

  5. Reflex WMS入门系列十五:Reflex系统上对已经Confirm的Receipt能继续做收货么?

    Reflex WMS入门系列十五:Reflex系统上对已经Confirm的Receipt能继续做收货么? 如下的Receipt已经完成了收货,并且已经confirm了, Cfm(confirm)栏位被 ...

  6. 网络云存储技术Windows server 2012 (项目十五 存储服务间的数据同步)

    网络云存储技术Windows server 2012 (项目十五 存储服务间的数据同步) 目录 前言 一.项目背景 二. 项目实训题 前言 网络存储技术,是以互联网为载体实现数据的传输与存储,它采用面 ...

  7. WorldWind学习系列十五:如何切割影像和DEM数据及其在WW中的应用配置

    原文转自:http://www.cnblogs.com/wuhenke/archive/2010/01/03/1638499.html WorldWind学习系列十四中我从代码上分析如何加载DEM数据 ...

  8. 聊聊MySQL的加锁规则《死磕MySQL系列 十五》

    大家好,我是咔咔 不期速成,日拱一卒 本期来聊聊MySQL的加锁规则,知道这些规则后可以判断SQL语句的加锁范围,同时也可以写出更好的SQL语句,防止幻读问题的产生,在能力范围内最大程度的提升MySQ ...

  9. Oracle Golden Gate 系列十五 -- GG Trails 说明

    一.Trails 说明 理论知识在系列一里有说明,这里在拿出来看一下: Oracle Golden Gate 系列一 -- GG 架构 说明 http://blog.csdn.net/tianleso ...

  10. 【web系列十五】Ubuntu系统部署Web项目

    目录 写在前面 前端部署 安装nginx 编译vue工程 传输项目到服务器 修改nginx配置 修改启动用户 重启服务 打开网页 前端踩坑记录 无法使用getCurrentInstance.ctx.$ ...

最新文章

  1. VS2008中的“解决方案配置”和“解决方案平台”不见了(Release和Debug)的解决方法...
  2. HP880G3 安装RHEL6.5
  3. SQL基础操作_4_表的插入、更新、删除、合并操作
  4. 【Transformer】PoolFormer: MetaFormer is Actually What You Need for Vision
  5. Taro+react开发(32) Please use the ‘new‘ operator, this DOM object constructor cannot be called as a fu
  6. leetcode258. 各位相加(简单题,但是你不看答案想不出来)
  7. Django使用n内置模块发送HTML格式的邮件
  8. 怎么配置服务器php环境,配置PHP服务器环境步骤详解
  9. 诺基亚首款5G手机正式发布!还有Nokia 5310经典再现
  10. Java中调用FTP服务时inputStream获取一直为null
  11. 第18天:京东网页头部制作
  12. matlab 音乐传奇,matlab 如何打开wav声音文件
  13. SANYUKI:净化空气,顺便美颜?
  14. 傲梅备份服务器系统,傲梅轻松备份迁移系统
  15. Android常用控件-02
  16. mailgun php版本,如何使用mailgun php API仅向bcc发送邮件?
  17. 从头开始学Redisson--------限流器
  18. 美团数据治理一体化实践
  19. vbs脚本在服务器上虚拟按键,怎么用VBS代码实现模拟键盘按键?
  20. H.264视频监控项目

热门文章

  1. 开机进入boot menu和application menu,无法开机
  2. TdxRibbon控件的皮肤设置
  3. ORACLE SQL功能优化系列(一)
  4. HDOJ--1285--确定比赛名次
  5. 爬虫提交form表单中含有(unable to decode value)解决方法
  6. MVVM最佳解读和实践
  7. checkbox选中并记住状态(分页)
  8. OpenStack版本发布周期或将延长为1年
  9. HoloLens的显示分辨率有多少?
  10. 英特尔发布P900 Optane固态盘 而主打的市场并非数据中心