分享
Numpy
输入“/”快速插入内容
Numpy
用户5318
用户5318
2025年12月9日修改
32
"Data scientist is just a sexed up word for a statistician" ——Nate Silver
可能有人会问,为什么要学 NumPy?因为我似乎没怎么用过这个 Package。大部分都是 Pandas 和 matplotlib.pyplot 就解决了很多问题。那么我在接下来会回答这个问题。
1.
NumPy 是数据分析的基础,很多更高级的拓展模块都依赖于 NumPy,比如 Scikit-learn、Pandas、TensorFlow 等。
2.
NumPy 中有很多数学相关的内置函数,例如计算平均数,中位数以及矩阵,张量运算等等,可以在代码中省去很多 for-loops。
3.
NumPy 提供了一个叫做
N 维数组
的结构,它和 Python 里的 list 很像,但前者的效率远优于后者(效率就是生命啊🎉)。
1.N 维数组
1.1 基本概念
N 维数组(ndarray)是一个描述相同类型数据的集合。
例如:
语文
数学
120
130
110
140
可以把每个人的成绩都可以看成一个行向量,组成一个矩阵,这个矩阵在数据分析里面称为数组,相信大家在 C 语言里面也已经有所体会。(所以大家也可以猜想,它的底层实现确实是用 C 来实现的)
1.2 属性
N 维数组主要有两个属性 data type 和 dimension。
代码块
Plain Text
array([[1,2,3]
[4,5,6]
[7,8,9]])
显然,其中数据是整型,而 NumPy 数组的数据类型指的是数组中存储的元素类型,可以是:整型(int)、浮点型(float)、布尔型(bool)等。
注意
:NumPy 数组中的所有元素类型必须是一致的。
至于维数,直觉地想是 2 维的,事实上也确实如此。
判断维数的简单方法是看嵌套了几个中括号
。
当然还有调用函数的方法,就是对这个对象调用 ndim。
代码块
Python
print(np.array.ndim)
注意
:array 和 list 的差别就在于 print 之后,array 元素之间没有逗号。
1.3 创建数组
代码块
Python
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(arr)
这是一段简单的代码,调用 numpy 中的 array 函数创建一个一维数组,其中元素为 1,2,3,4,5
print 之后得到的结果:
代码块
Plain Text
[1 2 3 4 5]
array 的用法就是在其中传入一个列表。
1.4 数组计算
代码块
Python
import numpy as np
arr = np.array([[2, 1, 7],
[4, 2, 2]])
print(arr-1)
运算结果:
代码块
Plain Text
[[1 0 6] [3 1 1]]
就是矩阵中的加减。