NumPy 官方文档链接
-
英文官方文档:
- 主页:NumPy Documentation
- 参考手册:NumPy Reference
- 用户指南:NumPy User Guide
-
中文官方文档:
- 主页:[https://www.numpy.org.cn/reference/]
- 参考手册:NumPy 参考手册(中文版)
- 用户指南:NumPy 用户指南(中文版)
NumPy 官方文档总结
1. 简介
- NumPy(Numerical Python)是 Python 的一个扩展库,提供了大量的数学函数和高效的数组操作功能。
- 主要特点:
- 高效的多维数组对象
ndarray
。 - 广泛的数学函数和操作。
- 支持广播机制,简化数组运算。
- 与 C/C++ 和 Fortran 代码的集成能力。
- 高效的多维数组对象
2. 安装
- 安装命令:
- 使用
pip
安装:pip install numpy
- 使用
conda
安装:conda install numpy
- 使用
3. 数组创建
- 创建一维数组:
import numpy as np a = np.array([1, 2, 3, 4, 5])
- 创建多维数组:
b = np.array([[1, 2, 3], [4, 5, 6]])
- 特殊数组:
- 全零数组:
zeros = np.zeros((3, 3))
- 全一数组:
ones = np.ones((3, 3))
- 单位矩阵:
identity = np.eye(3)
- 随机数组:
random_array = np.random.rand(3, 3)
- 全零数组:
4. 数组属性
- 形状:
a = np.array([[1, 2, 3], [4, 5, 6]]) print(a.shape) # (2, 3)
- 数据类型:
print(a.dtype) # int64
- 元素总数:
print(a.size) # 6
- 维度数:
print(a.ndim) # 2
5. 数组索引和切片
- 一维数组:
a = np.array([1, 2, 3, 4, 5]) print(a[0]) # 1 print(a[1:4]) # [2, 3, 4]
- 多维数组:
b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) print(b[0, 0]) # 1 print(b[0, :]) # [1, 2, 3] print(b[:, 1]) # [2, 5, 8] print(b[1:3, 1:3]) # [[5, 6], [8, 9]]
6. 数组操作
- 数学运算:
a = np.array([1, 2, 3]) b = np.array([4, 5, 6]) print(a + b) # [5, 7, 9] print(a - b) # [-3, -3, -3] print(a * b) # [4, 10, 18] print(a / b) # [0.25, 0.4, 0.5] print(np.sqrt(a)) # [1., 1.41421356, 1.73205081]
- 广播机制:
a = np.array([[1, 2, 3], [4, 5, 6]]) b = np.array([1, 0, 1]) print(a + b) # [[2, 2, 4], [5, 5, 7]]
7. 数组重塑
- 改变形状:
a = np.arange(12) print(a) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] b = a.reshape((3, 4)) print(b) # [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]] c = a.reshape((2, 2, 3)) print(c) # [[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]
8. 数组连接和拆分
- 连接:
a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6]]) c = np.hstack((a, b)) print(c) # [[1, 2, 5, 6], [3, 4, 5, 6]] d = np.vstack((a, b)) print(d) # [[1, 2], [3, 4], [5, 6]]
- 拆分:
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) b, c = np.hsplit(a, 2) print(b) # [[1, 2], [5, 6]] print(c) # [[3, 4], [7, 8]] d, e = np.vsplit(a, 2) print(d) # [[1, 2, 3, 4]] print(e) # [[5, 6, 7, 8]]
9. 数组排序
- 排序:
a = np.array([3, 1, 2]) print(np.sort(a)) # [1, 2, 3] b = np.array([[3, 1, 2], [6, 4, 5]]) print(np.sort(b, axis=0)) # [[3, 1, 2], [6, 4, 5]] print(np.sort(b, axis=1)) # [[1, 2, 3], [4, 5, 6]]
10. 数组统计
- 统计函数:
a = np.array([[1, 2, 3], [4, 5, 6]]) print(np.sum(a)) # 21 print(np.mean(a)) # 3.5 print(np.median(a)) # 3.5 print(np.min(a)) # 1 print(np.max(a)) # 6 print(np.std(a)) # 标准差 print(np.var(a)) # 方差
11. 数组布尔操作
- 布尔操作:
a = np.array([1, 2, 3, 4, 5]) b = np.array([0, 1, 2, 3, 4]) print(a > 3) # [False, False, False, True, True] print(np.any(a > 3)) # True print(np.all(a > 3)) # False
12. 数组搜索和选择
- 搜索非零元素:
a = np.array([1, 2, 3, 4, 5]) print(np.nonzero(a)) # (array([0, 1, 2, 3, 4]),)
- 条件选择:
b = np.where(a > 3, a, 0) print(b) # [0, 0, 0, 4, 5]
13. 文件读写
- 保存数组:
np.save('array.npy', a)
- 读取数组:
b = np.load('array.npy') print(b) # [1, 2, 3, 4, 5]
14. 高级功能
- 广播机制:
a = np.array([[1, 2, 3], [4, 5, 6]]) b = np.array([1, 0, 1]) print(a + b) # [[2, 2, 4], [5, 5, 7]]
- 线性代数:
a = np.array([[1, 2], [3, 4]]) b = np.array([[5, 6], [7, 8]]) print(np.dot(a, b)) # [[19, 22], [43, 50]] print(np.linalg.inv(a)) # [[-2. , 1. ], [ 1.5, -0.5]]
总结
NumPy 是一个功能强大的库,提供了丰富的数组操作和数学函数。
标签:总结,NumPy,学习,print,数组,np,array,numpy From: https://www.cnblogs.com/jhhhred/p/18463024