Python 按行对数组进行numpy排序
我想按第一行对numpy中的数组进行排序 例如:Python 按行对数组进行numpy排序,python,sorting,numpy,scipy,Python,Sorting,Numpy,Scipy,我想按第一行对numpy中的数组进行排序 例如: import numpy as np test = np.array([[1334.71601720318, 930.9757468052002, 1018.7038817663818], [0.0, 1.0, 2.0], [ np.array([[ 667, 1393], [1961, 474]]), np.array([[ 673, 1389], [ 847, 128
import numpy as np
test = np.array([[1334.71601720318, 930.9757468052002, 1018.7038817663818],
[0.0, 1.0, 2.0],
[ np.array([[ 667, 1393],
[1961, 474]]),
np.array([[ 673, 1389],
[ 847, 1280]]),
np.array([[ 726, 1077],
[ 898, 961]])]], dtype=object)
我想对行进行排序:
[1334.71601720318, 930.9757468052002, 1018.7038817663818]
获得:
np.array([[930.9757468052002, 1018.7038817663818, 1334.71601720318],
[1.0, 2.0 ,0.0],
[ np.array([[ 673, 1389],
[ 847, 1280]]),
np.array([[ 726, 1077],
[ 898, 961]])],
np.array([[ 667, 1393],
[1961, 474]])], dtype=object)
----以后编辑----
我尝试使用:sorted(test,key=lambda行:行[1])
但是我收到了一条错误消息:“一个包含多个元素的数组的真值是不明确的。使用a.any()或a.all()”我认为
test[:,np.argsort(test[0])]
应该可以做到这一点