mam tablicą tak:Łączne zliczenia w NumPy bez iteracji
a = np.array([0.1, 0.2, 1.0, 1.0, 1.0, 0.9, 0.6, 1.0, 0.0, 1.0])
Chciałbym przeciwdziałają obrotowej przypadkach 1,0 że resetuje gdy napotka 0,0, tak wynik byłby:
[0, 0, 1, 2, 3, 3, 3, 4, 0, 1]
Moją pierwszą myślą było użyć czegoś podobnego b = np.cumsum (a [a == 1,0]), ale nie wiem jak (1) modyfikować to, aby przywrócić w zera lub (2) jak to zorganizować, więc ou tablica tput ma taki sam kształt jak tablica wejściowa. Wszelkie pomysły, jak to zrobić bez iteracji?
eleganckie rozwiązanie, dzięki! – triphook
Ładnie zrobione! FYI, przyjęta odpowiedź na to pytanie rozwiązuje prawie identyczny problem, ale działa również, jeśli niektóre z gromadzonych wartości są ujemne. http://stackoverflow.com/questions/18196811/cumsum-reset-at-nan –