I want to take the derivative of a dataframe row-wise. This is simply the difference: df_derived(i,j) = df(i,j)- df(i,j-1). Dataframe given below:
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
I am looking for:
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
But when I do: df.apply('diff',axis=1), result is different:
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
Notice column GR3 and GRD7 are different. How to do this?