Konvertieren Sie alle Elemente in Series float zu integer
Ich habe eine Spalte mit float-Werten,in einem dataframe (also ich rufe diese Spalte als Float-Serie). Ich möchte konvertieren Sie alle Werte in integer oder um es so einrichten, dass es gibt keine Nachkommastellen.
Lassen Sie uns sagen, dass der dataframe ist df und die Spalte ist, habe ich versucht, dieses :
df['a'] = round(df['a'])
Bekam ich eine Fehlermeldung, kann diese Methode nicht angewendet werden, um eine Serie, die nur für einzelne Werte.
Danach habe ich versucht, dieses :
for obj in df['a']:
obj =int(round(obj))
Danach habe ich gedruckt df, aber es gab keine Veränderung.
Wo mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
round
nicht so funktionieren, wie es genannt wird, auf eine Pandabären-Serie, welche array-eher einer skalaren Wert, es ist die eingebaute Methodepd.Serie.Runde
arbeiten auf der ganzen Series-array, nach denen Sie können ändern, "dtype" mitastype
:Außerdem ist es unnötig, iteriert über die Zeilen, wenn es vektorisiert Methoden zur Verfügung
Auch dies:
Nicht mutieren, die einzelne Zelle in der Reihe, es ist Betrieb auf eine Kopie des Werts, weshalb die df ist nicht mutiert.
Den code in deine Schleife:
obj = int(round(obj))
Nur verpasst, welches Objekt den Namen
obj
verweist. Es ändert nicht die gespeicherten Daten in der Serie. Wenn Sie dies tun wollen, müssen Sie wissen, wo in der Serie werden die Daten gespeichert und update es.E. g.
df['a'].iloc[i] = int(round(obj))
Beim konvertieren von float in einen integer, fand ich heraus, mit df.dtypes, dass die Spalte, die ich versuche zu vervollständigen, wurde ein Objekt nicht einen float. Die Runde Befehl funktioniert nicht auf Objekte, um die Konvertierung, die ich gemacht habe:
df['a'] = pd.to_numeric(df['a'])
df['a'] = df['ein'].Runde(0).astype(int)
oder als Einzeiler:
Wenn Sie speziell möchten Runde bis Ihre Frage Staaten, die Sie verwenden können
np.ceil
:Siehe auch Boden oder Decke eines pandas Serie in python?
Nicht sicher, dass es viel Vorteil, um die Typumwandlung zu int; pandas und numpy Liebe schwimmt.