np.dot函数的运算特点
时间: 2024-10-15 22:00:45 浏览: 39
np.dot()函数的用法详解
`np.dot`是NumPy库中的一个函数,全称为点积(dot product),用于执行矩阵乘法或向量乘法操作。其运算特点包括:
1. **向量乘法**:如果两个输入是向量(一维数组),`np.dot`会返回这两个向量的内积,也就是它们对应元素相乘再求和的结果。
2. **矩阵乘法**:当其中一个或两个输入是二维数组(矩阵)时,`np.dot`执行的是矩阵乘法(也称作外积)。这需要满足第一个矩阵的列数等于第二个矩阵的行数才能进行运算。结果矩阵的行数将等于第一个矩阵的行数,列数将等于第二个矩阵的列数。
3. **广播规则**:如果两个输入的维度不同,并且可以应用广播规则(即形状通过增加额外的一维可以使其匹配),`np.dot`会自动处理,进行相当于扩展较小维度的操作。
4. **效率高**:由于`np.dot`底层通常使用高效的C语言实现,所以对于大规模的计算,性能比使用循环迭代更优。
5. **兼容性**:`np.dot`既适用于NumPy数组,也可以与其他支持此功能的对象一起工作,如Pandas DataFrame。
示例:
```python
import numpy as np
# 向量乘法
v1 = np.array([1, 2])
v2 = np.array([3, 4])
result_v = np.dot(v1, v2) # 结果为 [3, 8]
# 矩阵乘法
m1 = np.array([[1, 2], [3, 4]])
m2 = np.array([[5, 6], [7, 8]])
result_m = np.dot(m1, m2) # 结果为 [[19, 22], [43, 50]]
```
阅读全文