Получение значения последнего столбца массива по индексу, сохраненному в массиве numpy - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь сравнить значение в двух двухмерных массивах, у меня есть один массив со списком индексов, с помощью которого я хочу получить значения из другого массива с одинаковым индексом. например: массив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)
...