Day24:Numpy矩阵操作
上一节我们讲解了Numpy的数组操作,在数据分析和科学计算中,Numpy库不仅提供了数组操作的功能,还提供了矩阵操作的功能。本节将详细介绍Numpy矩阵的广播机制、高级索引、矩阵库(Matrix)以及线性代数相关的操作。
1. 广播机制
Numpy的广播机制是指在对不同形状的数组进行操作时,自动调整数组的形状使其能够进行运算。广播机制的核心是维度的匹配和补全。
维度匹配:对于两个数组,在比较它们的维度时,从后向前比较,两个数组的维度相等或其中一个数组的维度为1时,维度匹配成功,比如维度(3,2)与(4,5,6)就无法匹配。
维度补全:如果两个数组的维度不匹配,Numpy会自动在维度较小的数组的前面补1,直到维度匹配。
下面是一个示例:
import numpy as np
a = np.array([[1, 2, 3]])
b = np.array([[4], [5], [6]])
result = a * b
print(result)
输出结果为:
[[ 4 8 12]
[ 5 10 15]
[ 6 12 18]]
2. 高级索引
Numpy提供了多种高级索引方式来访问数组中的元素。其中,布尔型索引和整数型索引是常见的方式。
布尔型索引:可以通过一个布尔型数组来选择数组中的元素。
import numpy as np
data = np.array([[1, 2], [3, 4], [5, 6]])
bool_index = data > 3 # 筛选大于3的元素
result = data[bool_index]
print(result) # 输出:[4 5 6]
整数型索引:可以使用一个整数数组作为索引,来获取数组中指定位置的元素。
import numpy as np
data = np.array([[1, 2], [3, 4], [5, 6]])
integer_index = np.arra
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
大模型-AI小册 文章被收录于专栏
1. AI爱好者,爱搞事的 2. 想要掌握第二门语言的Javaer或者golanger 3. 决定考计算机领域研究生,给实验室搬砖的uu,强烈建议你花时间学完这个,后续搬砖比较猛 4. 任何对编程感兴趣的,且愿意掌握一门技能的人
查看8道真题和解析