Je veux dériver une dataframe ligne par ligne. C'est simplement la différence: df_derived(i,j) = df(i,j)- df(i,j-1)
. Dataframe donnée ci-dessous:
GRD1 GRD2 GRD3 GRD4 GRD5 GRD6 GRD7
0 1 6 5.0 9.0 1.0 7.0 9
1 5 8 NaN 8.0 NaN NaN 2
2 7 8 NaN NaN NaN 2.0 6
Je cherche:
GRD1 GRD2 GRD3 GRD4 GRD5 GRD6 GRD7
0 NaN 5.0 -1 4.0 -8.0 6.0 2.0
1 NaN 3.0 NaN NaN NaN NaN NaN
2 NaN 1.0 NaN NaN NaN NaN 4.0
Mais quand je fais: df.apply('diff',axis=1)
, le résultat est différent:
GRD1 GRD2 GRD3 GRD4 GRD5 GRD6 GRD7
0 NaN 5.0 NaN 4.0 -8.0 6.0 3.0
1 NaN 3.0 NaN NaN NaN NaN -6.0
2 NaN 1.0 NaN NaN NaN NaN -2.0
Remarquez que les colonnes GR3 et GRD7 sont différentes. Comment faire cela?