<分区>
我知道这个问题非常基础,但我正在寻找最好的方法来做到这一点。我的问题是我们如何将 numpy 数组 reshape 为所附图片中的垂直箭头?
最后想把一个120*64*200整形为1200*64*20!
<分区>
我知道这个问题非常基础,但我正在寻找最好的方法来做到这一点。我的问题是我们如何将 numpy 数组 reshape 为所附图片中的垂直箭头?
最后想把一个120*64*200整形为1200*64*20!
最佳答案
你也可以用transpose来做
arr = np.array([i for i in range(1,19)])
arr3d = arr.reshape(3, 2,-1) # (1)
print(arr3d)
arr3d = arr3d.transpose(1,0,2) # (2) magic happens here
print(arr3d)
arr3d = arr3d.reshape(-1,3) # (3)
print(arr3d)
第一次 reshape 后,内容将是:
[[[ 1 2 3]
[ 4 5 6]]
[[ 7 8 9]
[10 11 12]]
[[13 14 15]
[16 17 18]]]
通过神奇的转置你会得到:
[[[ 1 2 3]
[ 7 8 9]
[13 14 15]]
[[ 4 5 6]
[10 11 12]
[16 17 18]]]
然后再整形为 2d。
通过方法链,我们可以组合成一条语句,例如:
arr.reshape(3, 2, -1).transpose(1, 0, 2).reshape(-1, 3)
关于python - 如何将逆向转置应用到 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56943772/
相关文章:
python - 在给定稀疏矩阵数据的情况下,Python 中计算余弦相似度的最快方法是什么?
python - 强制乘法使用 __rmul__() 而不是 Numpy 数组 __mul__() 或绕过广播
python - 如何使用 pandas/numpy 标准化/规范化日期?
python - 初学者 - 在程序中集成 optparse
python - 捕获输出时,将子进程与 select 和 pty 一起使用会挂起
python - Python 3.4 中的 UnboundLocalError
python - 如何在 python 中分组和计算二项式变量?并绘制这个图