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