为什么用 Numpy
能看到这个教学的小伙伴们,我相信你要不就是想学习人工智能,要不就是想要做数据分析。 选择 Python 这门语言的确可以让你相对快速地上车,而但靠裸 Python,它并不能支撑起这么多拥护者, 之所以 Python 被称为万能编程语言,正式因为它有很多实用,扎实的第三方库。而 Numpy 正是把 Python 捧上神坛的第三方库之一。
没有 Numpy 世界会怎样¶
那么,如果地球上从来就没有 Numpy,或者没有类似与 Numpy 的 Python 库,世界会怎样呢?我大胆猜想,首先 Python 的地位会迅速下降,掉落神坛。人工智能,AI 这些东西和 Python 也没多大关系了。甚至连爬虫,数据分析等工作都不会用 Python 来完成。
反过来思考,可见 Numpy 的地位斐然,而 Numpy 这个名字(Number + Python)也体现了它在数学计算,科学计算方面突出的贡献。
我在什么情况下想要用 Numpy¶
我已经在机器学习,人工智能,网页爬虫,数据分析领域工作了很多年,在这些领域下,我什么时候会想用 Numpy 呢?你们也可以做个参考,看看你的工作有没有必要使用 Numpy。或者甚至你还有一些特别有意思的工作场景也需要 Numpy,欢迎在留言区分享。
会让我想要使用 Numpy 的场景:
- 需要批量处理数据的时候
- 机器学习,人工智能这些需要进行海量数据运算处理的地方
- 写游戏里面的物体运行逻辑时,经常涉及到矩阵、向量运算
- 机器人模拟环境,背后的环境反馈信息,全是靠批量数据算出来的
- 任何需要做统计的时候(爬虫爬完了信息后)
- 画图表之前,要对数据做一轮批量处理
- Blah blah
交互式学习¶
上图是我在 B站 第一次(16年)做的 Numpy 教学,文字教学看到这。都已经 60+w 的观看量,说明做得还不错, 为什么我想重做一遍呢?做一个新的 Numpy 教学呢?
简单的答案是 我不满意。
长答案是:以前做的其实没有从学习者学习出发,是一种自上而下的教学模式,我想这次更接地气,用更加直接的 交互式 教学,所见即所学。 在浏览器中实时运行出结果,给你最直接的学习感受和体验,莫烦相信,只有将学习体验,带到你面前,这才是最佳学习方式。
所以在这个 Numpy 教学之前,我已经将 16年 做的 Python 基础课程也转换成了交互式教学模式。 想体验一把的同学看到我的基础教学模块~ 我在里面也提到了我对学习的思考和翻新基础教学的原因。
交互式教学是什么?我举个例子吧,当你点击下方的运行按钮,在你浏览器中,Python 代码就自动运行了,实时给你返回结果展示。
而且,我也独立开发了 MiniPy Python 小程序模块,让你可以更轻松的看到别人是如何使用 Python 制作出丰富的小项目的。 而且支持分享和一键克隆,让你可以基于优秀的项目,做一个更优秀,更能量身定制的小程序。在外任何地方都能访问且运行。
项目式教学¶
为什么说,学习苦,学习累,那是因为你没有一个与现实绑定的目标。简单说,是你没找到 你为什么学习?
。所以我想使用一种叫做 项目制 教学的方法,首先有一个项目,觉得生活中的问题,从这个问题出发,去找寻能够解决问题的方法,做有意义的学习。
当然在教学中,肯定不会涉及到很大的项目,而且大部分还是假项目,我唯一想让你感受到,你是为了解决问题而学习,而不是为学习这个词而学习。
在这个教学的后面,我还会做几个案例,可以穿插这进来做阶段性的大练习。
更多学习体验¶
- 在浏览器中运行/学习 Python
- 优雅的数据维护者 Pandas(这个教程后续会更新成交互式课程,敬请期待)
- 用 Matplotlib 画图可视化(这个教程后续会更新成交互式课程,敬请期待)