from functools import reduce
maxLen = reduce(lambda a, b: max(a, b.shape[0]), dSets, 0)
all = N.ma.zeros((maxLen,) + dSets[0].shape[1:] + (len(dSets),), dtype=float)
all.mask = True
for i, set in enumerate(dSets):
    all.mask[:len(set), ..., (i)] = False
all[:len(set), ..., (i)] = set
mean = all.mean(axis=-1)
Использование Numpy для поиска среднего значения в наборах данных с некоторыми отсутствующими данными