numpy.reshape(a, newshape, order='C') or a.reshape(newshape, order='C')
我只使用 C-like index order,不使用 Fortran-like index order
2.1 功能
更改矩阵a的形状,比如说将1行6列的矩阵a更改为2行3列的矩阵。
2.2 参数说明
(1)a:需要更改形状的矩阵a。
(2)newshape:矩阵a所更改的新格式,eg:(2,3)。
(3)order='C':这个是跟存储格式有关系的,我只使用默认情况下的C-like index order,在我的例程中不更改order的值。
(4)返回值:是一个数组
2.3 code
# File name: numpy_reshape
# Last modified Date: 2021年10月15日16点53分
# Last Version: V1.0
# Descriptions: 本文件主要测试C-like index order下np.reshape()的用法
import numpy as np
# 产生一个2X3的数组a
print("产生一个2X3的数组a:")
a = np.array([[1, 2, 3], [4, 5, 6]])
print(a)
# 将a的形状改为3X2的数组;可以观察到系统默认采用C-like index order,不用手动指定;
# 假设将a更改为4行or四列的数组,运行时会出错,因为元素总个数无法整除4
print("将a的形状改为3X2的数组:")
a = np.reshape(a, (3, 2))
print(a)
# 将a的形状改为6X1的数组
print("将a的形状改为6X1的数组:")
a = a.reshape(6, 1)
print(a)
# 将a的形状改为1X6的数组
print("将a的形状改为1X6的数组:")
a = a.reshape(6)
print(a)
2.4 运行结果
D:\Prj\Python\Polynomial_Curve_Fitting\venv\Scripts\python.exe D:/Prj/Python/Polynomial_Curve_Fitting/numpy_reshape.py
产生一个2X3的数组a:
[[1 2 3]
[4 5 6]]
将a的形状改为3X2的数组:
[[1 2]
[3 4]
[5 6]]
将a的形状改为6X1的数组:
[[1]
[2]
[3]
[4]
[5]
[6]]
将a的形状改为1X6的数组:
[1 2 3 4 5 6]
Process finished with exit code 0