可以说我有一个数组
a = np.arange(16).reshape((4,4))
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
但是我想要
15 11 7 3
14 10 6 2
13 9 5 1
12 8 4 0
这是跨辅助对角线的翻转,或者是一种反转置。
我该如何在numpy中执行此操作?
最佳答案
一个人可以执行以下任一操作:rot90(a,2).T
rot90(flipud(a),1)
rot90(fliplr(a), -1)
或在评论中建议使用hpaulj(感谢hpaulj)a[::-1,::-1].T
这里是速度排名,是对1000个随机10000x10000数组进行反转置后最慢方法的比率。
a[::-1,::-1].T
rot90(a,2).T
rot90(flipud(a),1)
rot90(fliplr(a),-1)
关于python - 在python中执行反转置的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44772451/