所有列设置索引列的每一行之间的差异

differences between each row for all columns setting index column

我有一个名为 ndf2 的 pandas 数据框:

       ds        sc
0    1000  0.516512
1    1100  0.542311
2    1200  0.552666
3    1300  0.567540
4    1400  0.585531
5    1500  0.595928
6    1600  0.601140
7    1700  0.602802
8    1800  0.605209
9    1900  0.616163
10   2000  0.627078
11   2100  0.632283

我想计算设置索引列的两列的每一行之间的差异:

ndf2.set_index().diff()

给我这个错误:

TypeError: set_index() missing 1 required positional argument: 'keys'

如何更改?

我想你只需要 diff:

print (df.diff())
       ds        sc
0     NaN       NaN
1   100.0  0.025799
2   100.0  0.010355
3   100.0  0.014874
4   100.0  0.017991
5   100.0  0.010397
6   100.0  0.005212
7   100.0  0.001662
8   100.0  0.002407
9   100.0  0.010954
10  100.0  0.010915
11  100.0  0.005205

或将列名作为参数添加到 set_indexdiff:

print (df.set_index('ds').diff())
            sc
ds            
1000       NaN
1100  0.025799
1200  0.010355
1300  0.014874
1400  0.017991
1500  0.010397
1600  0.005212
1700  0.001662
1800  0.002407
1900  0.010954
2000  0.010915
2100  0.005205