数组变形最灵活的实现方式是通过reshape()函数来实现。
例如,将数字1~9放入一个3*3的矩阵中:
np.arange(1, 10).reshape((3, 3))
注意,该方法必须保证原始数组的大小和变形后数组的大小一致。如果满足这个条件,reshape方法将会用到原数组的一个非副本视图。但实际情况是,在非连续的数据缓存的情况下,返回非副本视图往往不可能实现。
另外一个常见的变形模式是一个一维数组转为二维的行或列的矩阵。可以通过reshape方法来实现,或者更简单地在一个切片操作中利用newaxis关键字:
x = np.array([1, 2, 3])
(1)通过变形获得的行向量
x.reshape((1, 3))
通过newaxis获得的行向量
x[np.newaxis, : ]
(2)通过变形获得的列向量
x.reshape((3, 1))
通过newaxis获得的列向量
x[ : , np.newaxis]
原文:https://www.cnblogs.com/husteryzc/p/12895869.html