2016-06-21 13 views
2

Ich habe diese Datenrahmen Pandas genannt ndf2:Unterschiede zwischen jeder Zeile für alle Spalten einstellen Indexspalte

 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 

Ich möchte für beide Spalten Einstellung der Indexspalte de Differenz zwischen jeder Zeile berechnen:

ndf2.set_index().diff() 

ist mir diesen Fehler geben:

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

Wie kann ich das ändern?

Antwort

3

Ich glaube, Sie brauchen nur 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 

oder Spaltennamen als Parameter set_index mit diff hinzu:

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