【发布时间】:2020-12-10 16:10:57
【问题描述】:
假设我有一个 8x8 矩阵:
[
0 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1
0 0 0 1 1 1 1 1
0 0 0 0 1 1 1 1
0 0 0 0 0 1 1 1
0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
]
我想在 2 点之间转置其中的一行/列。例如,如果我想在 2,2 和 6,6 之间转置(其中 1,1 是最左上角的值),新矩阵应该如下所示
[
0 1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
0 1 0 1 1 0 1 1
0 1 0 0 1 0 1 1
0 1 0 0 0 0 1 1
0 1 1 1 1 0 1 1
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0
]
有没有这样做的好方法。我尝试将行复制到列中,将列复制到行中,但是当我开始使用变量名作为两个点之间进行转置时,它变得很难看
谢谢
【问题讨论】:
-
是否允许使用 numpy 库?
-
是的@Keredu,我正在使用 numpy 数组
-
想象一下,您可以将示例中的矩阵设为
x = np.triu(np.ones((8,8), dtype=int), 1)... -
嗨@Scotty1-问题并不像执行矩阵转置那么简单,因为正如标题中所说,我只希望它在一行/列上执行......
标签: python numpy matrix transpose