gpt4 book ai didi

python - 按行对numpy中的数组进行排序

转载 作者:行者123 更新时间:2023-11-28 22:33:39 25 4
gpt4 key购买 nike

我想按第一行对 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, 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 row: row[1])但我收到一条错误消息:“具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()”

最佳答案

我认为 test[:, np.argsort( test[0] ) ] 应该可以解决问题。

关于python - 按行对numpy中的数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39674073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com