在数学计算方面,Python提供了NumPy来帮助我们进行科学计算,对于大型多维数组和矩阵的操作。
这篇文章将通过浅显易懂的方式来分析Numpy的使用或切片。
通常通过 pip 或者 conda 来安装 Numpy。
pip install numpy
打开终端输入:
等待片刻
可以加上镜像:
完成安装:
在 PyCharm或者在Jupyter Notebook 中,可以通过以下方式导入 Numpy:
import numpy as np
打开PyCharm新建demo01.py文件,拷贝以上代码:
使用 np.array() 创建数组。
arr = np.array([1, 2, 3])
使用特定的函数创建数组,如 np.zeros(), np.ones(), np.arange(), np.linspace(), 等。
zeros_arr = np.zeros((3, 4)) # 创建 3x4 的零矩阵
ones_arr = np.ones(5) # 创建长度为 5 的全一数组
range_arr = np.arange(0, 10, 2) # 创建从 0 到 10 的偶数数组
linspace_arr = np.linspace(0, 1, 5) # 创建 5 个等间隔点的数组
在demo01.py文件拷贝以上代码:
数组之间的算术运算。
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b) # [5 7 9]
在demo01.py文件中拷贝以上代码:
右键运行demo01.py文件,查看结果:
数组的数学函数,如 np.sin(), np.cos(), np.exp(), np.log() 等。
c = np.array([0, np.pi/2, np.pi])
print(np.sin(c)) # [0.0 1.0 1.2246468e-16] 最后一个值接近于0
在demo01.py文件中拷贝以上代码:
右键运行demo01.py文件,查看结果:
Numpy 数组支持类似于 Python 列表的索引和切片操作。
d = np.array([[1, 2, 3], [4, 5, 6]])
print(d[0, 1]) # 访问第一行第二列元素
print(d[:, 1:]) # 获取所有行的第一列之后的所有元素
新建demo02.py文件,添加上面的代码:
右键运行demo02.py文件,查看结果:
Numpy 支持不同形状的数组进行运算,如果两个数组在某一维度上的长度相同或者其中一个数组在该维度上长度为 1,则可以进行广播。
e = np.array([1, 2, 3])
f = np.array([[0], [4], [8]])
print(e + f) # [[1 2 3] [5 6 7] [9 10 11]]
在demo02.py文件中拷贝以上代码:
右键运行demo02.py文件查看结果:
ndim: 维度数量。
shape: 维度大小。
size: 元素总数。
dtype: 元素的数据类型。
可以使用 reshape() 方法来改变数组的形状。
g = np.arange(8)
print(g.reshape(2, 4))
以上是 Numpy 的一些基础使用方法。根据具体需求,还可以进一步学习更多高级功能,比如线性代数操作、傅里叶变换等。
欢迎关注博主持续获取Python技术学习渠道,带你去看不一样的风景。