Я пытаюсь сравнить значение в двух двухмерных массивах, у меня есть один массив со списком индексов, с помощью которого я хочу получить значения из другого массива с одинаковым индексом. например: массив1:
test =
[[0.1, 0.3, 0.4, 3]
,[0.2, 0.8, 0.7, 4]
,[0.4, 0.2, 0.8, 6]
,[0.9, 0.6, 0.4, 9]]
Массив с индексами:
Column_index =
[[1, 2]
,[0, 3]]
Ожидаемый результат (значение последнего столбца данного индекса):
data =
[[4,6]
,[6,9]]
Что яделал до сих пор:
import numpy as np
trainingData = np.genfromtxt('trainingData.csv', delimiter=',')
inTraining = trainingData[:, :-1]
print(inTraining)
testData = np.genfromtxt('testData.csv', delimiter=',')
inTest = testData[:, :-1]
print(type(inTest))
def dist_mat(x,y):
arr = np.sqrt(np.sum((x- y[:,None])**2, axis=-1))
b = np.argsort(arr, axis=1)
print(b)
print(type(b))
dist_mat(inTraining,inTest)
def dist_mat(x,y):
arr = np.sqrt(np.sum((x- y[:,None])**2, axis=-1))
b = np.argsort(arr, axis=1)
print(b)
print(type(b))
dist_mat(inTraining,inTest)
y = trainingData[:, -1]
print(y)
a = inTraining
indices = b
nz = np.take(y, indices)
print(nz)