python - NumPy 使用 reshape 函数 reshape 数组

标签 python arrays numpy reshape

<分区>

我有一个数组:[1, 2, 3, 4, 5, 6]。我想使用 numpy.reshape() 函数,这样我就可以得到这个数组:

[[1, 4],
 [2, 5],
 [3, 6]
]

我不知道该怎么做。我一直以这个结束,这不是我想要的:

[[1, 2],
 [3, 4],
 [5, 6]
]

最佳答案

它们做同样的事情:

In [57]: np.reshape([1,2,3,4,5,6], (3,2), order='F')                                           
Out[57]: 
array([[1, 4],
       [2, 5],
       [3, 6]])
In [58]: np.reshape([1,2,3,4,5,6], (2,3)).T                                                    
Out[58]: 
array([[1, 4],
       [2, 5],
       [3, 6]])

通常在 Python/numpy 中跨行“读取”值。这是调用行优先或“C”顺序。向下读是 FORTRAN 的“F”,在具有 Fortran 根的 MATLAB 中很常见。

如果您采用“F”顺序,制作一个新副本并将其串出,您将得到不同的顺序:

In [59]: np.reshape([1,2,3,4,5,6], (3,2), order='F').copy().ravel()                            
Out[59]: array([1, 4, 2, 5, 3, 6])

关于python - NumPy 使用 reshape 函数 reshape 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60939903/

相关文章:

python - 具有 Keras 数据形状问题的 LSTM 自动编码器

Python打印每个字符?

javascript - 如何使用 JavaScript 在 HTML DOM 对象数组中通过数据选择器查找元素?

c++ - QImage数组的动态分配

javascript - 排序数组,优先排序一些项目

python - 根据条件在 numpy 数组中插入值

python - Python 包的多个位置

python - 在 python 3 中查看堆栈

python - 正弦计算比余弦慢几个数量级

python - Numpy 数组中的宾果游戏