自己建立了一个数据分析兴趣小组群,在分享了一篇有关Python的介绍后,这两天大家的学习热情高涨,于是纷纷将自己的问题扔到群里诱使大家来解决,比如:如何代码实现去除文本里面的多余空格,如何将一个27万行的数据一次导入Excel等。有个成员提出利用SQL语言来实现一个2万行数据的分类汇总,可是俺不会SQL,就想试试用Python能否实现。

首先来看看数据吧(该数据没有脱敏,大家看看就好),数据包含了5列,2万多行,希望能根据地区对销售金额和毛利进行汇总。

分类汇总后达到如下效果:

其实精通Excel的同学知道这个很容易,直接来个透视表就搞定了,但是使用Python能不能也搞定呢?让我们一起来踩坑,跳坑吧。

首先看看数据结构,很明显这是个完美的dataframe,所以可以利用Pandas来对其进行处理,将数据读入,然后使用groupby就能实现分类汇总了。原理很简单,但是过程充满了艰辛。首先导入数据,然后查看一下Dataframe结构

看起来数据导入比较顺利,数据结构也算工整,可以开始进行分类汇总了

使用groupby后,居然是这个结果!说好的,groupby会直接忽略掉文本,而直接将数值进行分组操作吗?为啥“销售金额”不见了,而且“店铺”和“CLASS”这个两个包含文本的列也被强行汇总求和了?

看到这结果,首先想到的是不让“店铺”和“CLASS”参加groupby,通过索引,只将“地区”、“销售金额”、“毛利”进行分类汇总。

这依旧不是我们想要的结果呀!!!为啥?

仔细观察了一下数据,原来在原始数据文件中,所有的数值型数据都有千位符逗号,可能是Python将其误认成了文本数据,让我们将千位符去掉再试试。

嗯,这次有点模样了,可以将这个数据再写回CSV文件

打开csv文件一看,这是什么鬼,一堆乱码而且格式也不对呀!

这应该是code制问题,好吧试了各种code制问题都没解决,在万般无奈的情况,在网上找到一个code制,尝试了一下居然成功了!

到此使用Python完成了一次Excel中透视表类似的工作。

感受是看是简单的代码,但是因为没有系统学习和扎实的基本功,各种报错。看来如果需要应用代码解决问题,还需要打牢基础,熟悉编程语言的各种属性。

注:

1. 细心的读者可能发现了,代码中导入数据是一个是Data.csv,一个是data_02.csv。data_02.csv是为了复现问题重做的一个数据源

2. 其实还有一个问题后来没有复现,csv中数据如果是负值,其显示为括号+红色字体,这个也会被识别成字符,但是做data_02.csv时,这个问题没有复现

3. 当要汇总的列数据被转换成了数值后,直接使用Groupby就能得到结果。

python分类汇总_数据分析番外篇13_利用Python实现分类汇总相关推荐

  1. OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字

    OpenCV-Python实战(番外篇)--利用 KNN 算法识别手写数字 前言 手写数字数据集 MNIST 介绍 基准模型--利用 KNN 算法识别手写数字 改进模型1--参数 K 对识别手写数字精 ...

  2. OpenCV-Python实战(番外篇)——利用 SVM 算法识别手写数字

    OpenCV-Python实战(番外篇)--利用 SVM 算法识别手写数字 前言 使用 SVM 进行手写数字识别 参数 C 和 γ 对识别手写数字精确度的影响 完整代码 相关链接 前言 支持向量机 ( ...

  3. OpenCV-Python实战(番外篇)——利用 K-Means 聚类进行色彩量化

    OpenCV-Python实战(番外篇)--利用 K-Means 聚类进行色彩量化 前言 利用 K-Means 聚类进行色彩量化 完整代码 显示色彩量化后的色彩分布 相关链接 前言 K-Means 聚 ...

  4. OpenCV-Python实战(番外篇)——利用增强现实制作美颜挂件,让你的照片与众不同

    OpenCV-Python实战(番外篇)--利用增强现实制作美颜挂件,让你的照片与众不同 前言 基于 Snapchat 的增强现实 胡子挂件融合 完整代码 眼镜挂件融合 完整代码 相关链接 前言 在博 ...

  5. hg226g 虚拟服务器,华为HG8245H救砖番外篇之利用JTAG完成硬件初始化

    原文发在我的bloghttp://blog.csersoft.net/archives/196 前言 前几天使用UBoot恢复mtd分区时因为误操作导致flash全部被擦除.这下设备上电时连Start ...

  6. 魔方cfop公式软件_【番外篇】CFOP玩法进阶技巧与衍生解法介绍大全!

    本篇文章汇总了在CFOP玩法之上衍生出的更高级的解法,目的是向大家分享更多的魔方知识,并不涉及任何具体的公式教程,如对某些方法感兴趣,可自行了解 (★注意:以下分解图不表示先后顺序,"+&q ...

  7. Python爬虫自学系列(番外篇一):代理IP池

    前言 你在爬虫的时候,是否会经常的担心IP被封掉呢? 或者说,在使用免费IP的时候,并不知道那个IP是不是已经被封了. 对于大批量的爬取数据的时候,我在第五篇做并发爬虫的时候就发现了,第一篇提供的那个 ...

  8. (亲测)1分钟破解IDM权限,傻瓜都能学会的破解方法(番外篇:利用破解工具直接破解IDM)...

    Internet Download Manager (IDM)是比较好用的一款下载工具~ 上一节我讲到一种利用修改防火墙来进行阻止访问服务器,请参看这篇文章(亲测)躺着破解IDM下载权限,治疗不用破解 ...

  9. ubuntu导入python的包_在ubuntu环境下怎么利用python将数据批量导入数据hbase

    斯蒂芬大帝 能够单条导入就能够批量导入配置 thriftpython使用的包 thrift个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到pr ...

最新文章

  1. 65 Airflow组成部分的概念介绍
  2. 剑指offer-有序二维数组中的查找
  3. 已经被处理的消息不能丢
  4. 200 多个 npm 包被攻击,Azure 开发者请注意
  5. 【java学习之路】(数据结构篇)001.数组
  6. [转载] numpy总结
  7. 金融IT和ERP,哪个更有前途?
  8. ASP.NET AJAX中防止用户多次提交页面
  9. 服务器设置客户端网页安装,在Windows 7环境下安装并配置web、SSH、E-mail、FTP等服务器...
  10. 移动周刊第 176 期:Android 知识梳理
  11. 前端基础入门之css less
  12. 2009-2012年中国网络游戏市场投资分析及前景预测报告
  13. 黑龙江伊春现受伤雄性东北虎 目前已被成功救治
  14. mysql左链sql去重_MySql去重
  15. WPF3D贴图:用C#搓一个地球
  16. SQLServer从mdf和ldb还原数据库
  17. 理解快速排序 | 打通算法学习的任督二脉
  18. WIN10打印机显示服务器脱机,win10网络打印机显示脱机处理方法
  19. 【文本匹配】之 经典ESIM论文详读
  20. 创业公司如何公平分配股权

热门文章

  1. 余热回收系统:ORC低温余热发电原理
  2. MySQL多表查询优化
  3. MySQL索引优化是什么意思?底层原理是什么?
  4. C#自学42一抽象类和接口
  5. 一键解决重复性设计工作
  6. OSPF ISIS RIP实现总公司与分公司等的互联
  7. dllhell 听说过吗?_您已经听说过X25519,但是X448有何特别之处?
  8. 短域名系统设计详解(全)
  9. Java8通过Function获取字段名称
  10. kafka broker 进入 conflicted ephemeral node 死循环