numpy 向外扩充
时间: 2024-09-03 16:03:03 浏览: 85
在NumPy库中,"向外扩充"通常是指对数组的边界添加额外的值,以便于执行特定操作时保持数组尺寸不变,或者填充新元素。这主要有两种常见的方式:`numpy.pad` 函数和广播机制。
1. **`numpy.pad` 函数**:
`numpy.pad` 函数允许你指定要在数组边缘添加的模式(mode)。常见的模式包括:
- `'constant'`: 添加常数值(默认是零)
- `'edge'`: 取边缘的元素
- `'wrap'`: 类似于数组是环形的一样,下一个元素连接到第一个
例如:
```python
import numpy as np
arr = np.array([1, 2, 3])
padded_arr = np.pad(arr, pad_width=1, mode='constant', constant_values=0)
print(padded_arr) # 输出:array([0, 1, 2, 3, 0])
```
2. **广播机制**:
NumPy中的广播规则允许直接操作形状不同的数组,通过“向外”扩展较小的数组以匹配较大数组的形状。如果两个数组需要在某个维度上扩展,那么较小的数组会被重复多次,直到其形状与另一个数组相同。
```python
a = np.array([[1, 2], [3, 4]])
b = np.array(5)
result = a + b # 这里b会沿着行和列进行扩展,然后与a对应位置相加
print(result) # 输出:[[ 6 7]
# [ 8 9]]
```
阅读全文