У меня есть 3-мерная numpy ndarray-форма (i, j, k), где каждая строка представляет собой массив из нескольких одинаковых по размеру векторов.
Я хотел бы извлечь массив (i, k) в форме, так чтобы каждый элемент строк содержал первый ненулевой элемент своей группы векторов "j"
Итак, в основном, учитывая массив, такой как:
[
[
[0 , 10 , 12 , 0 , 4],
[0 , 0 , 13 , 1 , 2],
[12, 14 , 1 , 12 , 8]
],
[
[5 , 17 , 12 , 9 , 0],
[0 , 0 , 13 , 1 , 0],
[12, 14 , 1 , 12 , 8]
],
[
[0 , 0 , 19 , 0 , 9],
[2 , 6 , 13 , 0 , 2],
[12, 14 , 1 , 12 , 8]
]
]
Я ищу, чтобы найти что-то вроде:
[
[12, 10, 12, 1, 4],
[5 , 17, 12, 9, 8],
[2 , 6, 19, 12, 9]
]
Как найти результаты эффективно?
import numpy as np
i,j,k = 3, 5, 10 #in real problem, these are pretty large
arr = np.random.randint(0, 10000, (i,j,k))
#????????