Python NumPy 将列转换为行

标签 python numpy

Python 2.7.10 和 NumPy。我有一个这样的矩阵:

[[[ 0  1  2]
[ 3  4  5]
[ 6  7  8]
[ 9 10 11]]

[[12 13 14]
[15 16 17]
[18 19 20]
[21 22 23]]

[[24 25 26]
[27 28 29]
[30 31 32]
[33 34 35]]

[[36 37 38]
[39 40 41]
[42 43 44]
[45 46 47]]]

注意:实数矩阵会有实数数据,而不是连续的数字。

我需要旋转、翻转或其他东西(我都试过了),这样才能结束:

[[[ 2 5 8 11]
[ 1 4 7 10]
[ 0 3 6 9]

[[14 17 20 23]
[13 16 19 22]
[12 15 18 21]

[[26 29 32 35]
[25 28 31 34]
[24 27 30 33]

[[38 41 44 47]
[37 40 43 46]
[36 39 42 45]]]

基本上,我需要矩阵的所有列都变成行。

谢谢。

最佳答案

使用 [:,:,::-1] 翻转列的位置并使用 np.transpose将行与列交换 -

In [25]: A
Out[25]: 
array([[[ 0,  1,  2],
        [ 3,  4,  5],
        [ 6,  7,  8],
        [ 9, 10, 11]],

       [[12, 13, 14],
        [15, 16, 17],
        [18, 19, 20],
        [21, 22, 23]],

       [[24, 25, 26],
        [27, 28, 29],
        [30, 31, 32],
        [33, 34, 35]]])

In [26]: A[:,:,::-1].transpose(0,2,1)
Out[26]: 
array([[[ 2,  5,  8, 11],
        [ 1,  4,  7, 10],
        [ 0,  3,  6,  9]],

       [[14, 17, 20, 23],
        [13, 16, 19, 22],
        [12, 15, 18, 21]],

       [[26, 29, 32, 35],
        [25, 28, 31, 34],
        [24, 27, 30, 33]]])

关于Python NumPy 将列转换为行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900526/

相关文章:

python - 从 python 生成电影而不将单个帧保存到文件

python - 如何按月份升序对 X 轴进行排序?

python - 在 Flask 中使用 Twitter Bootstrap 单选按钮

python - 如何新建文件夹?

python - 如何根据对应的值过滤字典键

python - Flask 中的 If 语句使用 SQL 数据库中的字符串变量

python-2.7 - 如何在没有 pip 或任何包管理器的情况下安装 Pandas 和依赖项

python - 基于python中的 Pandas 索引在新列中添加值

python - Python 中的二阶导数 - scipy/numpy/pandas

python - 如何将多个 numpy 2d 数组堆叠到一个 3d 数组中?