如何交换二维NumPy数组的第x和第y行?其中x和y是由用户提供的输入。比如说,x=0且y=2,输入数组如下:
a = [[4 3 1]
[5 7 0]
[9 9 3]
[8 2 4]]
Expected Output :
[[9 9 3]
[5 7 0]
[4 3 1]
[8 2 4]]
我尝试了多种方法,但没有得到预期的结果。这是我尝试过的:
a[x],a[y]= a[y],a[x]
output i got is:
[[9 9 3]
[5 7 0]
[9 9 3]
[8 2 4]]
请建议我的解决方案有什么问题。
a[[0, 2]]
感到困惑的人,它是a[[0, 2], :]
的简写形式,因此它选择由第0行和第2行组成的子矩阵。如果要交换_列_,应该使用a[:, [0, 2]] = a[:, [2, 0]]
。 - Peter