经常听别人说 Python 在数据领域有多厉害,结果学了很长时间,连数据处理都麻烦得要死。后来才发现,原来不是 Python 数据处理厉害,而是他有数据分析神器—— pandas

前言

有时候我们需要对比两份数据有哪些不同值,在 Excel 中虽然没有实现对比功能,但通过公式也可以简单完成。不过你可能没想到的是,在 pandas 中实现对比功能,与 Excel 有异曲同工之处。

案例1

你千辛万苦整理了一份数据表,发给了同事,几小时后,同事在表格中修改了某些单元格的值,然后扔下一句话:麻烦你看看修改的对不对?

此时你很想问一句:可以告诉我哪些修改了?

Excel 中,我们可以简单写一个等号,把两个表的值都对比一下:

虽然上述方式操作简单,但是你每次编写公式范围都要靠"手感"。现在看看 pandas 中怎么实现:

pandas 中的原理其实与 Excel 操作是一样的,不过我们只需要写一次"双等号",pandas 会自动让2个表的每个值做对比

案例2

你会埋怨说,上面给我一堆 bool 值,有啥用?!你当然希望看看那些被修改的值。上面代码简单修改即可:

cond = df_mdf != df_src , 这次我们把判断条件写成"!=",是"不等于"的意思

df_mdf[cond] ,紧接着只要把那些"不等于"的结果放入"修改表",即可显示那些被修改的值

案例3

你的同事喜欢给你"开玩笑",这次他发过来的数据表,不小心把人名的顺序给打乱了:

现在修改后的表格数据,是按销量降序排列

这次我们不能直接根据位置判断,不过只需要简单调整即可:

关键1(红线部分),加载数据时,把第一列作为行索引

关键2(蓝线部分),让"乱序表"按"原始表"的索引重置一下

其他部分不变

实际上,pandas 中的判断是根据行列索引自动对齐

案例4

有时候,同事不会给你完整的数据表,他只提供修改的记录:

这次你不再需要关心哪些被修改了,而是怎么把修改后的结果更新到"原始表"。

pandas 当然不会让你失望:

关键在最后一行,DataFrame.update() ,按传入的 DataFrame 作为标准,更新原始表

时刻谨记,一切按行列索引自动对齐

你会发现,即使是非常复杂的表头,也能完成这些操作,因为 DataFrame 可以包含各种多层行列索引。因此,这案例中的列顺序有变化,同样可以完成操作

如果希望从零开始系统学习 pandas ,这个 pandas 专栏不容错过。内含多个数据分析案例。

总结

注意 DataFrame 的行列索引,所有操作都自带索引对齐功能

DataFrame.update ,能以另一个 DataFrame 为基准,做更新操作

python数据比对怎么做_同事给你迷之Excel数据,4个数据处理案例教你Python数据对比更新...相关推荐

  1. python实现抢劵_双十一福利丨机械键盘、蓝牙音箱送送送!Python/UI/Unity多场微课解剖双十一套路!...

    福利来了 别等双十一 多场微课get双十一全套路 机械键盘送送送! 福 利 来 了 双十一福利第一波 - 11/1-11/11 - 机械键盘送送送 有品位的IT侠 早已get起双十一的新姿势 11月1 ...

  2. python seo快排_流量贩子GoGo闯:SEO黑帽点击快排发包+Python应用软件编程技术 (含工具)...

    01.SEO_域名 1.SEO_域名.mp4 老域名.pdf 域名.html 域名.md 02.SEO_内容&模板 内容 & 模板.pdf 内容.模板_采集内容处理.mp4 内容.模板 ...

  3. 孩子学python后的变化_干货 | 看了此文,家长就知道为啥要让孩子学Python?

    原标题:干货 | 看了此文,家长就知道为啥要让孩子学Python? 关注教改动向的家长们肯定都发现,Python这个词最近可谓是异常火热. 浙江.厦门.武汉等多地教育局通知,将在中小学生新学期课本中加 ...

  4. python报表设计工具_报表自动化,三流用Excel,二流用Python,一流用它

    从事数据工作的人都知道,企业每天都要做很多报表,这个过程当中会涉及到很多手工操作和常规性报表.为了减少人工介入,节省工作时间,我们会想办法将一部分操作用工具或代码来替代,这个过程就称为报表自动化. 报 ...

  5. python大神推荐_大神推荐!!!高评分书籍轻松带你入门Python

    上次讲到了初学者阶段必看的书籍.今天给大家继续讲讲 进阶者阶段 当你对Python有了一定的了解,并在生活或者工作中使用过一段时间,那么你就可以考虑进阶相关的书籍,请看下面这3本: <Pytho ...

  6. python协方差阵转为相关阵_协方差矩阵、相关系数矩阵的EXCEL和python实现

    按照协方差矩阵中各元素cij的计算过程,我们可以得知要依次计算E(Xi),X - E(Xi),cij. 在得到协方差矩阵之后,可以根据相关系数公式:(其中D(X)为矩阵X的方差) 可以得出相关系数矩阵 ...

  7. python 窗口 网页 访问_同事用Python操控浏览器运行,引的妹子围观不止!

    Python可以做的事情很多,小编也正在奋力挖掘中,今天给大家分享一下,如何用Python来控制浏览器的运行及操作! 嗯 关于这个,大体有两种方式,且听小编一一列举: 一.使用系统自带库 os 这个方 ...

  8. python毕设代做_怎么用python做毕设?

    首先你的问题有点多 1.不懂python却要用python做项目,那你 python基本语法你得会 2.你们老师说做一个系统,具体有没有指什么系统,还是说很笼统一个概念,不管做哪方面的东西,你需要把那 ...

  9. python 应声虫怎么做_不能简单做只应声虫

    我们每天做的最多的事,就是选择.行不行.好不好.哪个好.你支持谁--在二选一时心理表个态,或者在几个封闭选项中选出最佳,这样的问题,我们大家每时每刻都能遇到吧? 可很多时候,那些看似简单的决定,其实并 ...

最新文章

  1. 【 FPGA 】状态机的模型之Mealy型状态机
  2. Smart Link
  3. iphonex黑屏开不了机_手机突然黑屏开不了机充电没反应怎么办?别急,这样就可以解决...
  4. 把学单片机过程中遇到的问题与大家分享
  5. leetcode 75. 颜色分类(双指针)
  6. php7 void,2.10.PHP7.1 女神级教程-女神的私人信息 -【PHP 函数】
  7. 用canvas实现手写签名功能
  8. HDU 5071 模拟
  9. 再学C++之C++中的全部关键字
  10. Swift观察者模式
  11. 遮挡摄像头 判断_3秒过安检、89个摄像头!探秘三亚沙滩手球邀请赛的“黑科技”...
  12. 定义一个内核panic问题
  13. 解决WIN10下QTTabBar无法置于顶部
  14. scheduling jobs未起来
  15. Linux 服务器进行安全加固,防止黑客攻击
  16. 代码review神器Upsource,让你快乐的进行CodeReview
  17. 箭头代码示例---某著名支付平台sdk源码
  18. java高德点到ian距离,高德地图(点到线段的最短距离算法)不调用高德API
  19. Android:WebView加载url网页显示不完整解决办法
  20. 计算机与信息科学学院英语,湖南工学院计算机与信息科学学院英语协会

热门文章

  1. 【英语:基础进阶_新闻美剧听说】G3.长文听力笔记如何处理
  2. htc管理root授权,htc手机怎么root权限获取
  3. RN FlatList组件
  4. 第三方平台对接达达配送
  5. 闷声发大财,你不知道的六个国内“隐形冠军”企业
  6. 虚幻4(UE4)BSP画刷
  7. bootstrap公共样式(学习笔记)
  8. c语言异或操作不能还原,C语言异或及文件操作之疑惑
  9. Adaptive AUTOSAR Technology Sharing(一)
  10. B4A 动态权限申请时遇到的问题与解决方法