为了账号安全,请及时绑定邮箱和手机立即绑定

按第二个值对 np 数组进行排序

按第二个值对 np 数组进行排序

莫回无 2023-10-11 20:02:44
如果我想对这个由 声明的数组进行排序, np.zeros((50),dtype=object)并且我想按第一个值对这个数组进行排序,[list([2, 5]) list([3, 0]) list([2, 7]) list([3, 1]) list([11, 2])]喜欢[list([2, 5]) list([2, 7]) list([3, 0]) list([3, 1]) list([11, 2])]我应该用什么?我一直在尝试sort()等等sorted()..
查看完整描述

1 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

如果数组中的所有列表都具有相同的长度,您可以使用 numpy lexsort (a是您的数组):


a = np.array(a)

a[np.lexsort((a[:,-1],a[:,-2]))]

#[[ 2  5]

# [ 2  7]

# [ 3  0]

# [ 3  1]

# [11  2]]

或等价:


a[np.lexsort(a.T[::-1,:])]


查看完整回答
反对 回复 2023-10-11
  • 1 回答
  • 0 关注
  • 40 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信