不用 Python 非好汉,不晓 NumPy 真遗憾
# 导入 NumPy, 开始学习
import numpy as np
感谢 NumPy,帮我解决了很多问题。
图解 NumPy 学习笔记zhuanlan.zhihu.com本专栏将使用 图解 以及 脑图 的方法来记录我的《图解 NumPy 学习笔记》。
NumPy 是 Numerical Python 的简称,它是目前 Python 数值计算 中最为重要的基础包。
——《利用 Python 进行数据分析》
0 初识 NumPy
NumPy 的 官方文档 非常详实,但由于数量过多,不容易让初学者有一个好的 big-picture。
本系列计划将 NumPy 较为全面的展示给初学者,加以鄙人的学习使用技巧与感悟,文章必有疏漏或错误,还望各位不吝赐教。
1 Why: 为什么要使用 NumPy ?
快,NumPy 既结合了 Python 开发效率高的优点,又能弥补了 Python 运行效率较低的缺点。
在学会使用 numba.njit + NumPy (数十倍的速度)和 cuda GPU (上百倍的速度)加速后,真的是“人生苦短,我用 Python "了。当然这都是后话了,相关内容,以后补充。
NumPy 的方法比 Python 方法要快 10 倍到 1000 倍,并且使用 内存也更少,可以大大方便我们在数据处理方面的研究与开发。
单从 运行效率 而言,在 NumPy 上只要能被表示为针对 数组或矩阵运算 的算法, 其运行效率几乎都可以与编译过的等效 C 语言代码媲美。
当然,快与慢,还要看个人如何使用,但是 内存映射 这是非常棒的。
如果面临数据过多,又不想存入数据库中,且数据的形式是数组或者矩阵, 可以使用 NumPy 的 np.save() 和 np.load(, mmap_mode = 'r'), 可以内存映射矩阵保留在磁盘上,无须全部读入,以后会详细说明。
2 What: NumPy 是什么?
NumPy 是 Python 数值计算 的基石。
它提供多种数据结构、算法以及大部分涉及 Python 数值计算所需的接口 。
简单来说,NumPy 是使用 Python 进行数据分析的一个核心工具。
3 How: 如何使用 NumPy ?
使用NumPy的不二法门就是 面向数组编程。
面向数组编程,下面这篇文章,看完拍案叫绝!!!
面向数组编程,超级好文blog.csdn.net看完这位大佬的文章,让我的程序快了 40 倍,生活如此多娇呀!
面向 过程 编程,好理解,
面向 对象 编程,也好理解。
那 面向数组编程 是什么?
面向数组编程 就是以 向量化 代替 使用繁杂的 循环,
用人话说就是用 数组或矩阵运算 代替 遍历的 for 循环。
具体怎么做呢?
看见一个 for 循环, 就想一个问题 “ 我能否使用矩阵运算来代替这个 for 循环?”
人生苦短,我用 Python
人生苦短,我用 NumPy
The End
谢谢您的观看,感谢您的收藏点赞,期待您的评论交流
Last updated: 2019/9/25
本文参考:
名称:Python for Data Analysis 作者:Wes McKinney