reshape()格式
时间: 2023-11-11 19:05:09 浏览: 126
在 NumPy 中,`reshape()`函数用于改变数组的形状(即维度)。其语法格式为:
```python
numpy.reshape(array, newshape, order='C')
```
其中:
- `array`:要改变形状的数组。
- `newshape`:新的形状。
- `order`:可选,表示按照何种顺序读取原数组来创建新数组,有两种可选值:`'C'`和`'F'`,分别表示按行和按列。
`reshape()`函数返回一个新的数组,不会修改原始数组。如果新的形状不合法(比如元素个数不匹配),则会报错。
下面是一些示例:
```python
import numpy as np
# 一维数组转换为二维数组
a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((2, 3))
print(b)
# 输出:
# [[1 2 3]
# [4 5 6]]
# 二维数组转换为一维数组
c = b.reshape((6,))
print(c)
# 输出:
# [1 2 3 4 5 6]
# 改变数组的顺序
d = np.arange(6).reshape((2, 3))
e = d.reshape((3, 2), order='F')
print(e)
# 输出:
# [[0 2]
# [1 3]
# [4 5]]
```
在`reshape()`函数中,可以使用`-1`来表示某一维度的大小由其他维度推断出来,例如:
```python
f = np.array([[1, 2, 3], [4, 5, 6]])
g = f.reshape((-1,))
print(g)
# 输出:
# [1 2 3 4 5 6]
h = f.reshape((-1, 2))
print(h)
# 输出:
# [[1 2]
# [3 4]
# [5 6]]
```
注意,`reshape()`函数返回的是一个新的数组,原始数组并没有被修改。如果需要在原始数组上改变形状,可以使用`resize()`函数。
阅读全文