У меня есть набор данных, в котором индексы каждой строки расположены в порядке расстояния, например
И затем я взял первые 3столбцы из вышеприведенного набора данных, и оставлено следующеев форме (row_index, позиция row_index в этой строке).Таким образом, приведенный выше набор данных выведет что-то вроде:
, однако код, который я написал, работает не так, как задумано.Пожалуйста, смотрите ниже:
код начала -
argsorted_distances = np.argsort(array_test, axis=1).iloc[:,0:3]
bb = []
for column_index,row in argsorted_distances.iterrows():
bb += map(lambda x: (x[0],x[2],column_index),zip(row.tolist(), itertools.count(0)))
bb.sort(key=lambda x:x[0])
result = {}
for i,j in itertools.groupby(bb, lambda x: x[0]):
result[i] = map(lambda x: (x[3],x[2]),j)
for k,v in result.items():
print(str(k) + " "+ str(v))