numpy中的reshape
时间: 2023-07-09 09:16:13 浏览: 89
矩阵运算-hls协议官方文档
`numpy.reshape()`函数用于将数组重新组织为指定形状的新数组,而不改变其原始数据。该函数返回一个具有新形状的数组,如果新形状不符合原始数据,则会产生错误。
语法如下:
```python
numpy.reshape(a, newshape, order='C')
```
参数说明:
- `a`:需要进行重新组织的数组。
- `newshape`:整数或整数元组,用于指定新数组的形状。
- `order`:{‘C’, ‘F’, ‘A’},可选参数,默认值为‘C’。用于指定数组在内存中的排列方式,即按行(C)或按列(F)存储,或者保持原样(A)。
使用示例:
```python
import numpy as np
# 创建一个3行4列的二维数组
a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 将二维数组转换为一维数组
b = np.reshape(a, (12,))
print(b)
# 将一维数组转换为二维数组
c = np.reshape(b, (3, 4))
print(c)
# 按列存储
d = np.reshape(a, (3, 4), order='F')
print(d)
```
输出结果:
```
[ 1 2 3 4 5 6 7 8 9 10 11 12]
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
[[ 1 5 9 2]
[ 6 10 3 7]
[11 4 8 12]]
```
上述代码中,首先创建了一个3行4列的二维数组`a`,然后使用`np.reshape()`函数将其转换为一维数组`b`,再将一维数组`b`转换为2行6列的二维数组`c`,最后使用`order='F'`参数将原数组`a`按列存储,得到新的二维数组`d`。
阅读全文