我希望你能为我提供一个一行代码的解决方案,用于执行以下操作。
假设我有以下内容:
array = np.array([10, 20, 30, 40, 50])
我希望根据输入的顺序重新排列它。如果有一个名为arrange
的NumPy函数,它将执行以下操作:
newarray = np.arrange(array, [1, 0, 3, 4, 2])
print newarray
[20, 10, 40, 50, 30]
正式来说,如果要重新排序的数组是m x n,而“索引”数组是1 x n,则排序将由名为“index”的数组确定。
NumPy有类似这样的函数吗?
[[1,0],[0,1]]
将[[1,2], ["a", "b"]]
转换为[[2,1], ["a", "b"]]
。我知道一种丑陋的方法是使用for循环来重新排列每一行数组,使用相应的索引数组中的行。但肯定有更快的方法。 - Skywalker326idx
不能是元组。这在某种程度上有些违反直觉,但您的解决方案完美地运行了。谢谢! - patzmnp.argsort()
进行转换。 - Genarito