Ich habe eine Liste mit Werten, die Nummer sein sollte. Gerade jetzt sind sie ein Objekt jedoch:Kann ein Objekt nicht in einen int konvertieren
later object
opstarten object
dtype: object
Ich habe versucht, die Spalte zu einem str Typen zu ändern, indem Sie:
df_analyse_num[["later"]] = df_analyse_num[["later"]].astype(str)
Dies scheint jedoch nicht dazu führen, zu arbeiten, wenn ich meine Art zu analysieren sagt immer noch Objekt.
Auch wenn ich versuche, es in eine Zeichenfolge zu konvertieren, geht etwas schief. Wenn ich das tue:
df_analyse_num[["later"]] = df_analyse_num[["later"]].astype(str).astype(int)
Es gibt mir die folgende Fehlermeldung:
File "pandas\lib.pyx", line 937, in pandas.lib.astype_intsafe (pandas\lib.c:16667)
File "pandas\src\util.pxd", line 60, in util.set_value_at (pandas\lib.c:67540)
ValueError: invalid literal for int() with base 10: '30.0'
Irgendwelche Gedanken, wo dies schief geht?
kein Experte für Pandas, aber versuchen 'float' dann' int': ' something.astype (str) .asype (float) .asyp (int) ' –
Total funktioniert, danke! –
Zuerst bezieht sich 'object' auf die Anzahl der Objekttypen, die korrekt sind. Sie werden' str' nicht als 'dtype' in Pandas sehen. Zweitens, wenn Sie Ihre Spalte in numerische Werte umwandeln wollen' pd.to_numeric (df_analyse_num ["später") "], errors = 'coerce')' dies leitet den passenden Typ, 'int' für die Stelle ab, an der Sie keine fehlenden Werte haben und alle Werte in 'int' ohne Fehler oder float umgewandelt werden können. Auch mit doppelten eckigen Klammern: 'df_analyse_num [[" später "]]' gibt eine einzelne Spalte df statt einer Serie zurück, falls Sie es nicht wussten – EdChum