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

时间:2016-06-21 19:17:19

标签: python pandas indexing dataframe difference

我有这个名为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

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

ndf2.set_index().diff()

给我这个错误:

  

TypeError:set_index()缺少1个必需的位置参数:'keys'

如何更改?

1 个答案:

答案 0 :(得分:3)

我认为您只需要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_index将列名称作为参数添加到diff

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