2013-12-08 22 views
9

Ich möchte rund pandas.DataFrame.Der richtige Weg, Pandas.DataFrame zu runden?

Hier ist, was ich versucht habe bisher:

import pandas as pd 
data = pd.DataFrame([1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0]) 
print(round(data)) 

Aber wenn ich diesen Code ausführen, erhalte ich folgende Fehlermeldung:

Traceback (most recent call last): 
    File "C:\Users\*****\Documents\*****\******\****.py", line 3, in <module> 
    print(round(data)) 
TypeError: type DataFrame doesn't define __round__ method 

Was ist der richtige Weg pandas.DataFrame abzurunden?

+0

Dup von http://stackoverflow.com/q/19100540/564538 –

Antwort

13

erste, Sie möchten die Definition von Datenrahmen ändern, so etwas wie:

data = pd.DataFrame([[1.4,2.5,3.8,4.4,5.6],[6.2,7.6,8.8,9.1,0]]).T 

, die diese Ergebnisse:

 0 1 
0 1.4 6.2 
1 2.5 7.6 
2 3.8 8.8 
3 4.4 9.1 
4 5.6 0.0 

oder:

data = pd.DataFrame({'A':[1.4,2.5,3.8,4.4,5.6],'B':[6.2,7.6,8.8,9.1,0]}) 

so dass Sie zwei Spalten erhalten, ansonsten wird die andere Liste als Index übernommen; dann:

data.apply(pd.Series.round) 

oder

import numpy as np 
data.apply(np.round) 
+0

diese rundet nur erste Spalte –

+2

die Art und Weise Sie die Datenrahmen machen, die andere Spalte Index gelten Pandas die Funktionen Spalten der Index –

+0

Was ist mit Serien, wie kann ich sie umrunden? –

Verwandte Themen