На базовом уровне я могу индекс один Numpy массива по другому, так что я могу возвращать индекс массива, таким образом, что:Подмножество один NumPy массив другого
a = [1,2,3,4,5,6]
b = [0.4, 0.5, 0.6, 0.7, 0.8, 0.9]
и индекс 0,6 можно найти :
c = a[b==0.6]
Однако теперь у меня есть 3D-массивы, и я не могу оторвать то, что мне нужно.
У меня есть 3 массива:
A = [[21,22,23....48,49,50]] # An index over the range 20-50 with shape (1,30)
B = [[0.1,0.6,0.5,0.4,0.8...0.7,0.2,0.4],
..................................
[0.5,0.2,0.7,0.1,0.5...0.8,0.9,0.3]] # This is my data with shape (40000, 30)
C = [[0.8],........[0.9]] # Maximum values from each array in B with shape (40000,1)
Я хотел бы знать позицию (от A) путем индексации значения максимального (C) в каждом из массивов в моих данных (B)
Я пробовал:
D = A[B==C]
, но я получаю сообщение об ошибке:
IndexError: index 1 is out of bounds for axis 0 with size 1
Самостоятельно я могу получить:
B==C# prints as arrays of True or False
, но я не могу получить индекс позиции от А.
Любая помощь приветствуется!
'(Б == С) .shape' является' (40000, 30) '. Как это соответствует форме A? – Eric