Вычисление среднего значения массивов разной длины

Можно ли вычислить среднее значение нескольких массивов, когда они могут иметь разную длину? Я использую numpy. Допустим, у меня есть:

numpy.array([[1, 2, 3, 4, 8],    [3, 4, 5, 6, 0]])
numpy.array([[5, 6, 7, 8, 7, 8], [7, 8, 9, 10, 11, 12]])
numpy.array([[1, 2, 3, 4],       [5, 6, 7, 8]])

Теперь я хочу вычислить означает, но игнорируя элементы, которые «отсутствуют» (естественно, я не могу просто добавить нули, так как это испортило бы среднее значение)

Есть ли способ сделать это без перебора массивов?

PS. Эти массивы все двумерные, но всегда будут иметь одинаковое количество координат для этого массива, т. е. 1-й массив — это 5 и 5, 2-й — 6 и 6, 3-й — 4 и 4.

Пример:

np.array([[1, 2],    [3, 4]])
np.array([[1, 2, 3], [3, 4, 5]])
np.array([[7],       [8]])

Это должен дать

(1+1+7)/3  (2+2)/2   3/1
(3+3+8)/3  (4+4)/2   5/1

И графически:

[1, 2]    [1, 2, 3]    [7]
[3, 4]    [3, 4, 5]    [8]

Теперь представьте, что эти двумерные массивы размещены друг над другом с перекрытием координат, что способствует получению среднего значения этой координаты

8
задан CDspace 11 January 2018 в 22:47
поделиться