numpy中reshape
时间: 2023-10-23 09:13:07 浏览: 130
Numpy之reshape()使用详解
NumPy中的reshape函数用于改变数组的形状。它接受一个表示新形状的元组作为参数,并返回一个具有新形状的新数组,原始数组的元素数必须与新形状兼容。
例如,假设我们有一个1维数组arr,它包含6个元素:
```python
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
```
我们可以使用reshape函数将其转换为一个2行3列的矩阵:
```python
new_arr = arr.reshape(2, 3)
```
现在new_arr是一个2x3的矩阵,它包含之前arr中的所有元素:
```
[[1 2 3]
[4 5 6]]
```
需要注意的是,reshape函数返回一个新数组,而不是修改原始数组。如果您希望在原始数组上进行操作,请使用resize函数。另外,如果您在调整形状时指定新形状中的某个维度为-1,则NumPy会自动计算该维度的大小,以使新数组的元素数与原始数组相同。例如,以下代码将创建一个2x3的矩阵:
```python
new_arr = arr.reshape(2, -1)
```
这里我们指定了新形状的第一个维度为2,但是第二个维度为-1,这意味着NumPy会自动计算第二个维度的大小以使新数组的元素数与原始数组相同。在这种情况下,NumPy将计算第二个维度的大小为3,因为原始数组中有6个元素,并且2x3=6。
阅读全文