Code: Select all
1 1
2 2
3 3
4 4
5 0
6 0
7 1
8 2
9 3
10 0
11 0
12 0
13 0
14 1
15 2
< /code>
Ich muss dies im folgenden Format anordnen: < /p>
1 1
2 2
3 3
4 4
5 0
6 0
7 3 ---> 4-2+1 (previous non zero value - previous zeroes + current value)
8 4 ---> 4-2+2 (previous non zero value - previous zeroes + current value)
9 5 ---> 4-2+3 (previous non zero value - previous zeroes + current value)
10 0
11 0
12 0
13 0
14 2 ---> 5-4+1 (previous non zero value - previous zeroes + current value)
15 3 ---> 5-4+2 (previous non zero value - previous zeroes + current value)
< /code>
Ich bin dabei festgefahren. Bis jetzt kann ich einen Datenrahmen mit aufeinanderfolgenden Nullen erstellen. < /P>
zero = ser.eq(0).groupby(ser.ne(0).cumsum()).cumsum()
< /code>
Was mir gab: < /p>
1 0
2 0
3 0
4 0
5 1
6 2
7 0
8 0
9 0
10 1
11 2
12 3
13 4
14 0
15 0
< /code>
Wenn jemand dazu bereit ist, dies zu unterstützen. Ich lasse Cookie Cutter für dieses [url=viewtopic.php?t=15738]Problem[/url] fallen, das die obige Serie erstellt. < /p>
d = {'1': 1, '2': 2, '3': 3, '4':4, '5':0, '6':0, '7':1, '8':2, '9':3, '10':0, '11':0, '12':0, '13':0, '14':1, '15':2}
ser = pd.Series(data=d)