一旦提到数据分析,我想大家会不约而同地想到利用 Python 来编写相关的程序,Python 在数据分析方面的优势是得天独厚的。数据分析的一大特点就是数据量大,并且数据之间拥有一定的结构关联。 比如说我们爬取电影数据,那么每部电影都会有名称、简介、演员、时长、评论等信息,这时候我们可以使用列表、字典等数据结构来存储。
-
当我们使用
列表
来存储时,我们只能使用下标来进行取值,要想准确地查找某一个数据,要么遍历,要么记住下标,显然前者浪费性能,后者更是天方夜谭。 -
当我们使用
字典
来遍历时,利用名称、简介等列名来查找对应的数据,例如利用字典的键去获取值。当我们要查找一部电影的全部数据,也就是一行数据,这又变得困难了起来。
可以看出,不管哪一种存储方式,都存在显示不明显、操作不方便的问题。
这对于一生要强的 Python 程序员是不可接受的,于是开发出了方便又快捷的 NumPy。NumPy 是处理层次性、结构性数据的一把利剑,利用 NumPy 我们不仅可以完成一维数组平均数、方差等统计操作,还可以进行四则运算的算术操作,对于多维数组的运算更是游刃有余。
接下来,让我们开启 Numpy 的学习之旅吧。
NumPy 是什么?
NumPy 也就是 “Numeric Python”,它是 Python 进行数值计算的一个类库
,用来计算、处理高阶矩阵和数组。和 Math、Time 库一样,NumPy 是 Python 中的一个扩展库,提供了 Python 原生所不具备的多维数组对象(类似生活中使用的表格)。另外,NumPy 还有线性代数中的矩阵运算功能等,这为科研和实际工作都带来了不少的便捷。
NumPy 是由 Numeric 程序包发展而来的,从其诞生至今仍在不断扩展完善。如今,它在全球范围内被广泛使用,成为众多程序员的心头爱。除了设计者的奇思妙想之外,很大程度上是因为 NumPy 作为一个开源项目,它由许多协作者共同开发维护。
学习 NumPy,我们主要领悟面向数组编程的方法与思维。NumPy 的核心利器 ndarray——多维数组对象,对于常见的数组、矩阵都有着较好的适配性。这能为我们解决日常生活中常见的表格、矩阵数据提供较为适合的工具。NumPy 广泛应用在逻辑处理、科学计算、图像处理、数据分析、人工智能等场景。NumPy 是数据计算领域的核心库,可以对 Pandas、Intake、PyJanitor 提取、转换和加载,也可以配合 Jupyter、Seaborn、Matplotlib、Altair 使用。
NumPy 的优势有哪些?
NumPy 能够在科学计算领域得到广泛的运用,有着丰富的应用生态,肯定有着它的优势,下面我们就来看看 NumPy 的优势是什么。
1. 代码简洁
NumPy 是基于 C 语言编写的 Python 程序,可以调用很多 C 语言的 API,这就意味着其有着较强的计算能力,同时 Python 编写的程序也是比其他编程语言更加简洁易懂。
例如,我们有一个水果店的价格表,现在由于房租上涨,每个水果的价格要上涨一元,利用传统列表方式一定是利用多重循环的方式遍历每一个数据项。而 NumPy 不同,NumPy 对于 n 维数据的计算方式都是一样的,利用一行指令即可对所有数据进行遍历。
下面我们来比较一下利用 Python 循环的方式处理数据和利用 Numpy 处理数据,究竟哪种方法的代码更为简洁吧!水果价格展示如下:
苹果 | 草莓 | 西瓜 | 荔枝 |
---|---|---|---|
5 | 4 | 6 | 2 |
首先,我们先利用 Python 自带的列表数据结构来存储水果价格数据,并通过循环的方式处理每一个数据。
</