重新排列NumPy数组中的值

米拉德:

假设我有一个numpy数组,如下所示:

[[1, 2, 3],
 [4, 5, 6],
 [7, 8, 9],
 [10, 11, 12]]

我喜欢有一个新的numpy数组,前半部分与上面的数组完全相同,但后半部分应从底部开始直到到达数组的一半。我怎么做?

编辑:我需要的方法必须为具有60000个元素的数组工作。不是这个简单的例子!

输出应如下所示:

[[1, 2, 3],
 [4, 5, 6],
 [10, 11, 12],
 [7, 8, 9]]
Gerardo Zinno:

另一种解决方案是简单地用赋值交换行,例如:

arr[2], arr[3] = arr[3], arr[2]

编辑后,这是一个仅反转数组下半部分的解决方案:

arr = np.array([[...],...])
arr[int(len(a)/2):] = arr[int(len(a)/2):][::-1]

[::-1]以相反的顺序返回数组的元素。因此,将其应用于原始数组的下半部分并将此新数组分配给原始数组的下半部分,将为您提供一个前n / 2行不变且后n / 2行按相反顺序排列的数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章