szukam zwięzły sposób przejść od:NumPy cumSum rozważa Koncepcja nieliczby
a = numpy.array([1,4,1,numpy.nan,2,numpy.nan])
do:
b = numpy.array([1,5,6,numpy.nan,8,numpy.nan])
Najlepsze, co mogę zrobić w sklepie jest:
b = numpy.insert(numpy.cumsum(a[numpy.isfinite(a)]), (numpy.argwhere(numpy.isnan(a)) - numpy.arange(len(numpy.argwhere(numpy.isnan(a))))), numpy.nan)
Czy istnieje krótszy sposób na osiągnięcie tego samego? A co z wykonaniem sumy wzdłuż osi tablicy 2D?
numpy ma 'funkcję nancumsum' dodany w wersji 1.12.0. Nie całkiem robi to, co chcesz bezpośrednio, ponieważ dałoby to wynik '[1, 5, 6, 6, 8, 8]'. –