numpy改变数组形状
时间: 2024-11-09 11:28:46 浏览: 18
Numpy 改变数组维度的几种方法小结
在NumPy库中,你可以通过一些函数来改变数组的形状,也就是调整数组的维度大小。以下是一些常用的方法:
1. `numpy.reshape`: 这个函数用于更改数组的形状而不改变元素。它接受一个新的形状元组作为输入,如`arr.reshape(new_shape)`。例如,如果你有一个一维数组,可以将其转换为二维矩阵。
2. `numpy.resize`: 这个函数不仅改变形状,还可以根据新的形状动态地增加或减少数组的大小。如果新形状的总元素少于原数组,那么多余的元素会被丢弃;如果多于原数组,会填充指定的值,默认是0。
3. `numpy.broadcast_to` 或 `numpy.expand_dims`: 如果你想将一个数组展平到更高的维度,或者复制数组使其成为更高维度的数组的一部分,这两个函数非常有用。
4. 切片操作:通过索引和切片,也可以间接地改变数组形状,比如将一个大数组分割成几个小数组。
例如:
```python
import numpy as np
# 创建一个一维数组
arr = np.array([1, 2, 3, 4, 5])
# 改变形状为 (2, 3)
reshaped_arr = arr.reshape((2, 3))
print(reshaped_arr)
# 使用expand_dims添加一个新的轴
expanded_arr = np.expand_dims(arr, axis=0)
print(expanded_arr.shape)
阅读全文