gpt4 book ai didi

python - 根据到平均值的距离对二维数组进行排序

转载 作者:行者123 更新时间:2023-12-01 07:06:40 25 4
gpt4 key购买 nike

如何根据与数组平均值最接近的行成员对 2d numpy 数组进行排序。

例如,我们有这个数组:

a = np.random.rand(10,4)

它的平均值可以这样给出:

myAverage = a.mean(axis=0)

现在,我想根据与 myAverage 最接近的距离对 a 进行排序

谢谢

这是我尝试过的:

for i in range(a.shape[0]):
for j in range(a.shape[0] - 1):
if(abs(sum(a[i] - a[i].mean(axis=0) > a[j + 1] - a[j +1].mean(axis=0)))):
a[i] = a[j]

最佳答案

假设您指的是绝对距离,否则取出np.abs():

import numpy as np

np.random.seed(0)
a = np.random.rand(10,4)



row_means = np.mean(a,axis=1,keepdims=True)

row_means_dist = a - row_means


sorted_idx = np.argsort(np.abs(row_means_dist).min(axis=1))

result = a[sorted_idx]

关于python - 根据到平均值的距离对二维数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58420251/

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