gpt4 book ai didi

python - 在 python 中执行反转置的最佳方法是什么?

转载 作者:太空狗 更新时间:2023-10-30 00:01:29 26 4
gpt4 key购买 nike

假设我有一个数组

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 数组后最慢方法的速度排名。

  1. 63.5% - a[::-1,::-1].T
  2. 85.6% - rot90(a,2).T
  3. 97.8% - rot90(flipud(a),1)
  4. 100% -rot90(fliplr(a),-1)

关于python - 在 python 中执行反转置的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44772451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com