相关疑难解决方法(0)

交换Numpy数组的切片

我喜欢python处理变量交换的方式: a, b, = b, a

我想使用这个功能来交换数组之间的值,不仅一次一个,而且还有一些(不使用临时变量).这不符合我的预期(我希望第三维的两个条目都可以互换):

import numpy as np
a = np.random.randint(0, 10, (2, 3,3))
b = np.random.randint(0, 10, (2, 5,5))
# display before
a[:,0, 0]
b[:,0,0]
a[:,0,0], b[:, 0, 0] = b[:, 0, 0], a[:,0,0] #swap
# display after
a[:,0, 0]
b[:,0,0]
Run Code Online (Sandbox Code Playgroud)

有没有人有想法?当然我总是可以引入一个额外的变量,但我想知道是否有更优雅的方式来做到这一点.

python swap numpy multidimensional-array

26
推荐指数
2
解决办法
9054
查看次数

在python中的numpy数组中交换两行

如何交换二维NumPy数组的第x和yth行?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]] 
Run Code Online (Sandbox Code Playgroud)

我尝试了多种方法,但没有得到预期的结果。这是我尝试的:

a[x],a[y]= a[y],a[x]

output i got is:
[[9 9 3]
 [5 7 0]
 [9 9 3]
 [8 2 4]]
Run Code Online (Sandbox Code Playgroud)

请提出我的解决方案出了什么问题。

python arrays swap numpy

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

numpy ×2

python ×2

swap ×2

arrays ×1

multidimensional-array ×1