为什么用 Pandas

为什么用 Pandas

作者: 莫烦 编辑: 莫烦 发布于: 2021-11-27

进入大数据时代,感觉我们如果不会一些分析数据的能力,就将要被时代淘汰(明目张胆拉焦虑)。

不过好在现在的技越来越先进,越来越易用,而且网络上也有越来越多的教学内容。 只要你有一些耐心,入门其实并不难。

有朋友一路跟着我的交互式教学,上手了 Python 基础, 学会了使用 Numpy 高效的数据加工计算 这两门非常有趣,而且在浏览器中都能运行代码,实现你独特想法的教学。

那么现在我们将要步入新的阶段,对大数据做出新的定义,直面大数据带来的挑战,学会使用 Pandas 来处理你日常的表格/画图/数据分析等问题。

你正在面临的问题

大数据虽然描述的是海量的数据,但是大数据离你却并不远,特别是大数据所涵盖的技术,在你生活当中,是时刻都能使用这些大数据涉及到的技术, 来解决你生活中的具体问题。

big data

比如我们在大学甚至更早,就已经开始接触使用 Excel 了。就像我本科的时候(土木工程),其实还不会编程,但是已经可以熟练使用 Excel 当中的公式, 在有次土立方相关的复杂计算时,我用 Excel 写出了当时全年级都广为流传的自动运算考题工具。当时我也就只是想偷懒,解决自己的计算问题,但是没想到, 同学比我更懒,拿着这份 Excel 开始传播起来。 等我发现全班都在用我的 Excel 时,真是震惊了。我想这就是我开始想要学编程,想要更自由的做出有效工具的萌芽吧。

其实当你也有想解决的数据问题,不管是一份考题,还是工作总结,拥有了这种处理数据的能力后,不光是你自己,就可能连身边的人都会受益于你的能力。

autooffice

今天要讲的是 Pandas,是什么时候才会让我想要使用 Pandas 来处理问题呢?我下面列一条,说不定就有你正面临的问题:

  • 办公自动化
    • 上学上班,有 Excel 或者格式化的文本文件,需要进行数据加工处理
    • 对大量的这些文本文件作图,想要自动化处理
  • 人工智能
    • 数据分析,可视化数据规律
    • 数据前处理,为 AI 模型展平道路

Pandas 是什么

简单来说,Pandas 是 Python 中一个比较常用的第三方库,里面集成了很多和数据相关的功能组件。上面提到的那些场景中, 无非就是要:

  1. 处理数据
  2. 分析数据
  3. 画图

所以 Pandas 就围绕着这些环节施展能力。而且它承接了 Numpy 的能力,使用的底层也是 Numpy。按理来说,我们也能用 Numpy 来实现上述功能, 但为什么 Pandas 还是这么广为流传呢?关于这个话题,我想在这节内容中详细论述。

什么是交互式学习

这一系列教学内容都是以交互式的形式展开,也就意味着,你能直接在网页中运行 Python 代码,直接看到结果,当然也能修改代码,看不同的结果。 比如下面这样:

我之前已经做过了两个同样是交互式的课程,Python 基础Numpy 数据处理. 从后台访问记录来看,这两个教学还是挺受欢迎的。所以我也决定继续开始做更有用的 Pandas 交互式教学

我也不吝啬分享自己做交互式学习系统的心得,如果你也有想要做类似的功能,完全可以借鉴我这一套方案。 为了能在用户端的浏览器中运行 Python,我特别去调研了一阵子。 这篇文章 Running Python in the Browser 给了我很详尽的对比。我也依据这篇文章选择了莫烦Python交互学习的基础框架 Pyodide

在莫烦Python中嵌入Pyodide,意味着什么呢?

  1. 首次打开交互教程,会下载 Pyodide 的依赖放在你的浏览器缓存中(大概20+MB,希望你不会频繁清空缓存)
  2. 代码编辑框的样式是采用了 CodeMirror 来做的,这可比原本莫烦Python采用的 highlight 组件更加牛逼,至少你可以编代码了
  3. CodeMirror 拿到的Python代码,由 Pyodide 在浏览器中,利用 WebAssembly 技术运行,直接在浏览器中返回结果

而且,我也独立开发了 MiniPy Python 小程序模块,让你可以更轻松的看到别人是如何使用 Python 制作出丰富的小项目的。 而且支持分享和一键克隆,让你可以基于优秀的项目,做一个更优秀,更能量身定制的小程序。在外任何地方都能访问且运行。

minipyDemo

学习项目介绍

如果只给你列一大堆概念,罗列知识点,学起来也没意思。还不如实实在在地解决一个问题, 从解决问题的角度,提出问题,找到解决方案,然后边做边学。

这一个交互式教学也借鉴了项目制教学的理念,不过还是没有做成彻底的一个项目解决方案。我将打着项目式教学的幌子, 带你实实在在过一遍 Pandas 的基础,让你真的学着有意义。

我将以数据分析为大背景,利用真实学习工作中的情况,展开好用的工具。后半段还将会引入使用 Pandas 做深度学习中的数据处理部分,让你体验一把 AI 技术人员的风范。

总结

Pandas 是数据的伙伴,帮你处理和分析海量数据,学会用 Python,会很常需要处理数据,只要需要处理数据,希望你都能回想起来有这么一位数据伙伴的存在。


降低知识传递的门槛

莫烦经常从互联网上学习知识,开源分享的人是我学习的榜样。 他们的行为也改变了我对教育的态度: 降低知识传递的门槛免费 奉献我的所学正是受这种态度的影响。 【支持莫烦】 能让我感到认同,我也更有理由坚持下去。

我组建了微信群,欢迎大家加入,交流经验,提出问题,互相帮持。 扫码后,请一定备注"莫烦",否则我不会同意你的入群申请。

wechat