2016-11-21 4 views
0

Ich habe eine Spalte von float64 in meinem DataFrame, die in Int konvertiert werden muss. habe ich versucht, die beiden Codes, aber der Datentyp bleibt unverändert (float64)Wie ändere ich den Datentyp einer einzelnen Spalte im Dataframe mit astype()?

final_df['Total'] = final_df.Total.astype(int) 
final_df['Total'] = final_df['Total'].astype(int) 

Auch könnte jemand den Unterschied zwischen Datenrahmen [ 'col'] und dataframe.col erklären?

+1

Das sollte funktionieren, wenn es einen Fehler warf, die Sie nicht angeben, ob es getan hat oder nicht, als zu Ihrer letzten Frage lieber 'df ['col'] 'über' df.col', letzteres führt zu unerwartetem Verhalten und ist fehleranfällig, zum Beispiel, wenn Sie eine Spalte mit dem Namen 'mean' oder 'sum' haben und Sie 'df.mean' genannt haben würde Ihnen die Funktionsadresse der Methode 'df.mean()' geben, zusätzlich abhängig davon, wie Sie Werte zuweisen, wird entweder eine neue Spalte hinzugefügt oder ein Attribut hinzugefügt, aber Sie werden es nicht wissen, es sei denn, Sie versuchen, auf das neu erstellte zuzugreifen Spalte – EdChum

+0

Es hat keinen Fehler geworfen. – user3562812

+0

Was zeigt 'final_df.info()' nun? Auch wenn es keinen Fehler gab, dann müssen Sie Rohdaten und Code posten, der es anderen erlaubt, dies zu reproduzieren, da dies jetzt spekulativ ist – EdChum

Antwort

0

denke ich, was du getan hast richtig durch, wie dies versuchen:

final_df['Total'] = final_df['Total'].astype("int") 
Verwandte Themen