为什么用 Pandas
进入大数据时代,感觉我们如果不会一些分析数据的能力,就将要被时代淘汰(明目张胆拉焦虑)。
不过好在现在的技越来越先进,越来越易用,而且网络上也有越来越多的教学内容。 只要你有一些耐心,入门其实并不难。
有朋友一路跟着我的交互式教学,上手了 Python 基础, 学会了使用 Numpy 高效的数据加工计算 这两门非常有趣,而且在浏览器中都能运行代码,实现你独特想法的教学。
那么现在我们将要步入新的阶段,对大数据做出新的定义,直面大数据带来的挑战,学会使用 Pandas 来处理你日常的表格/画图/数据分析等问题。
你正在面临的问题¶
大数据虽然描述的是海量的数据,但是大数据离你却并不远,特别是大数据所涵盖的技术,在你生活当中,是时刻都能使用这些大数据涉及到的技术, 来解决你生活中的具体问题。
比如我们在大学甚至更早,就已经开始接触使用 Excel 了。就像我本科的时候(土木工程),其实还不会编程,但是已经可以熟练使用 Excel 当中的公式, 在有次土立方相关的复杂计算时,我用 Excel 写出了当时全年级都广为流传的自动运算考题工具。当时我也就只是想偷懒,解决自己的计算问题,但是没想到, 同学比我更懒,拿着这份 Excel 开始传播起来。 等我发现全班都在用我的 Excel 时,真是震惊了。我想这就是我开始想要学编程,想要更自由的做出有效工具的萌芽吧。
其实当你也有想解决的数据问题,不管是一份考题,还是工作总结,拥有了这种处理数据的能力后,不光是你自己,就可能连身边的人都会受益于你的能力。
今天要讲的是 Pandas,是什么时候才会让我想要使用 Pandas 来处理问题呢?我下面列一条,说不定就有你正面临的问题:
- 办公自动化
- 上学上班,有 Excel 或者格式化的文本文件,需要进行数据加工处理
- 对大量的这些文本文件作图,想要自动化处理
- 人工智能
- 数据分析,可视化数据规律
- 数据前处理,为 AI 模型展平道路
Pandas 是什么¶
简单来说,Pandas 是 Python 中一个比较常用的第三方库,里面集成了很多和数据相关的功能组件。上面提到的那些场景中, 无非就是要:
- 处理数据
- 分析数据
- 画图
所以 Pandas 就围绕着这些环节施展能力。而且它承接了 Numpy 的能力,使用的底层也是 Numpy。按理来说,我们也能用 Numpy 来实现上述功能, 但为什么 Pandas 还是这么广为流传呢?关于这个话题,我想在这节内容中详细论述。
什么是交互式学习¶
这一系列教学内容都是以交互式的形式展开,也就意味着,你能直接在网页中运行 Python 代码,直接看到结果,当然也能修改代码,看不同的结果。 比如下面这样:
我之前已经做过了两个同样是交互式的课程,Python 基础 和 Numpy 数据处理. 从后台访问记录来看,这两个教学还是挺受欢迎的。所以我也决定继续开始做更有用的 Pandas 交互式教学。
我也不吝啬分享自己做交互式学习系统的心得,如果你也有想要做类似的功能,完全可以借鉴我这一套方案。 为了能在用户端的浏览器中运行 Python,我特别去调研了一阵子。 这篇文章 Running Python in the Browser 给了我很详尽的对比。我也依据这篇文章选择了莫烦Python交互学习的基础框架 Pyodide。
在莫烦Python中嵌入Pyodide,意味着什么呢?
- 首次打开交互教程,会下载 Pyodide 的依赖放在你的浏览器缓存中(大概20+MB,希望你不会频繁清空缓存)
- 代码编辑框的样式是采用了 CodeMirror 来做的,这可比原本莫烦Python采用的 highlight 组件更加牛逼,至少你可以编代码了
- CodeMirror 拿到的Python代码,由 Pyodide 在浏览器中,利用 WebAssembly 技术运行,直接在浏览器中返回结果
而且,我也独立开发了 MiniPy Python 小程序模块,让你可以更轻松的看到别人是如何使用 Python 制作出丰富的小项目的。 而且支持分享和一键克隆,让你可以基于优秀的项目,做一个更优秀,更能量身定制的小程序。在外任何地方都能访问且运行。
学习项目介绍¶
如果只给你列一大堆概念,罗列知识点,学起来也没意思。还不如实实在在地解决一个问题, 从解决问题的角度,提出问题,找到解决方案,然后边做边学。
这一个交互式教学也借鉴了项目制教学的理念,不过还是没有做成彻底的一个项目解决方案。我将打着项目式教学的幌子
, 带你实实在在过一遍 Pandas 的基础,让你真的学着有意义。
我将以数据分析为大背景,利用真实学习工作中的情况,展开好用的工具。后半段还将会引入使用 Pandas 做深度学习中的数据处理部分,让你体验一把 AI 技术人员的风范。
总结¶
Pandas 是数据的伙伴,帮你处理和分析海量数据,学会用 Python,会很常需要处理数据,只要需要处理数据,希望你都能回想起来有这么一位数据伙伴的存在。