Сравнить списки целых значений - PullRequest
0 голосов
/ 04 февраля 2020

Я пытался сравнить значения списка с номером столбца массива, чтобы сохранить значения, имеющие одинаковое значение столбца в массиве.

prob_val = [[.01 .04 0.3 0.1 .5],
            [.05 .02 0.1 0.7 .1],
            [.04 .05 0.4 0.1 .6],
            [.31 .03 0.2 0.1 .5],
            [.18 .01 0.1 0.6 .1],....
            [.12 .02 0.2 0.4 .2]]

predic_val = [[0],[0],[1],[0],[1],[2],[3],.....,[1],[2]]


values = [prob_val[predic_val==i][:,i] for i in range(5)]

Я имею в виду для всех позиций для предикат = 0 будет принимать значения для столбца 0 в prob_val.

, но когда я запускаю код, я получаю сообщение об ошибке: IndexError: логический индекс не соответствует индексированному массиву по измерению 1; размерность равна 194, но соответствующий логический размер равен 1

Попытка с другим кодом:

test = [[0,2,3,4,5],
        [6,7,8,9,10],
        [11,12,13,14,15],
        [16,17,18,19,20],
        [21,22,23,24,25]]

pree = [[0],
        [7],
        [0],
        [0],
        [0]]

vector = []
for i in range(5):
  for l in range(len(pree)):
    if pree[l] == i:
      new = test[l][i]
      vector.append(new)
      print("l es:",l)

print("vector: ",vector)
print("pree[l]: ",pree[0])

Но в этом случае строка , если pree [l] == i: Похоже, не сравнивает значения, поэтому вектор всегда пуст.

Есть ли у вас какие-либо идеи сделать это первым или вторым способом?

1 Ответ

0 голосов
/ 04 февраля 2020
test = [[0,2,3,4,5],
        [6,7,8,9,10],
        [11,12,13,14,15],
        [16,17,18,19,20],
        [21,22,23,24,25]]

pree = [[0],
        [7],
        [0],
        [0],
        [0]]

vector = []
for i in range(5):
    for l in range(len(pree)):
        if pree[l][0] == i:    # Correction was needed here 
            new = test[l][i]
            vector.append(new)
            print("l es:", l)

print("vector: ",vector)
print("pree[l]: ",pree[0])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...