When performing a conditional substraction, where I subtract the previous row value from the current row value for the columns (Jan - AnnualMean) for those rows where the values from the ID column is not equal to 1 or 8.
How to do that? I tried the following, which results in invalid syntax
for index,row in df.iterrows():
if row["ID"] =! [1,8]:
row.transform('diff')
input
ID Jan Feb Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez AnnualMean
1 14 18 17 45 22 31 30 4 22 26 12 48 24
2 8 35 21 31 50 49 20 29 17 49 17 3 27
3 19 4 8 27 29 37 25 7 2 2 49 28 20
4 3 50 49 20 17 29 35 39 8 42 41 34 31
5 33 2 12 15 49 49 46 25 39 11 42 38 30
6 12 19 14 38 8 42 5 34 36 29 12 50 25
7 16 48 29 14 41 6 9 3 4 33 12 4 18
8 25 24 4 26 7 45 17 2 47 17 19 3 20
9 47 36 34 24 17 45 3 32 27 15 46 49 31
10 50 15 42 45 13 9 31 10 49 1 30 37 28
1 22 26 32 50 22 30 48 27 19 27 44 19 31
2 27 45 43 7 48 13 43 1 45 8 11 4 25
3 24 4 12 5 10 49 24 16 10 42 46 25 22
4 45 32 21 5 30 5 27 23 4 8 21 23 20
5 38 28 4 8 4 20 36 13 11 14 11 11 17
6 42 46 28 42 46 43 7 8 40 30 33 1 31
7 42 11 37 33 16 27 9 23 42 40 29 35 29
8 40 27 45 24 28 34 4 10 28 16 41 27 27
9 4 4 1 6 8 34 43 48 10 10 37 29 20
10 39 17 18 23 27 32 14 15 8 45 28 40 26
desired output:
ID Jan Feb Mrz Apr Mai Jun Jul Aug Sep Okt Nov Dez AnnualMean
1 14 18 17 45 22 31 30 4 22 26 12 48 24
2 -6 17 4 -14 28 18 -10 25 -5 23 5 -45 3
3 11 -31 -13 -4 -21 -12 5 -22 -15 -47 32 25 -7
4 -16 46 41 -7 -12 -8 10 32 6 40 -8 6 11
5 30 -48 -37 -5 32 20 11 -14 31 -31 1 4 -1
6 -21 17 2 23 -41 -7 -41 9 -3 18 -30 12 -5
7 4 29 15 -24 33 -36 4 -31 -32 4 0 -46 -7
8 25 24 4 26 7 45 17 2 47 17 19 3 20
9 22 12 30 -2 10 0 -14 30 -20 -2 27 46 11
10 3 -21 8 21 -4 -36 28 -22 22 -14 -16 -12 -3
1 22 26 32 50 22 30 48 27 19 27 44 19 31
2 5 19 11 -43 26 -17 -5 -26 26 -19 -33 -15 -6
3 -3 -41 -31 -2 -38 36 -19 15 -35 34 35 21 -3
4 21 28 9 0 20 -44 3 7 -6 -34 -25 -2 -2
5 -7 -4 -17 3 -26 15 9 -10 7 6 -10 -12 -3
6 4 18 24 34 42 23 -29 -5 29 16 22 -10 14
7 0 -35 9 -9 -30 -16 2 15 2 10 -4 34 -2
8 40 27 45 24 28 34 4 10 28 16 41 27 27
9 -36 -23 -44 -18 -20 0 39 38 -18 -6 -4 2 -7
10 35 13 17 17 19 -2 -29 -33 -2 35 -9 11 6