Diese Frage wurde in vielen Threads gestellt und hat für andere funktioniert, aber nicht für mich. Ich versuche, object
Datentyp in int
zu konvertieren, um eine Gruppe durch Aggregation durchzuführen. Im Folgenden sind, was ich versucht und die Fehler, die ich so weit gekommen, (ich bin mit Python 3) Nach diesem Link habe ich versucht, these two:Fehler: Die Zeichenfolge "*" konnte an der Position 6116 nicht analysiert werden. - Objekttyp in Int konvertieren - Pandas
df['my_var'] = df['my_var'].astype(str).astype(int)
df['my_var'] = df['my_var'].astype(int)
gleichen Fehler für beide:
ValueError: invalid literal for int() with base 10: '*'
und dann habe ich tried,
df['my_var'] = pd.to_numeric(df['my_var'])
bekam ich einen Fehler:
ValueError: Unable to parse string "*" at position 6116
Dies ist, wie dtypes
aussieht,
print (df.dtypes)
my_var object
dtype: object
Ich kenne einige der ähnliche Fragen werden abgewählt, aber ich habe mit diesen Antworten nicht gelingen. Ist es ein Versionsfehler? Ich finde es schwierig, diesen Fehler zu verstehen. Jede Hilfe oder Anregung wäre willkommen.
Irgendwo in Ihrem Datenrahmen (tatsächlich an der Position 6116) haben Sie einen String '„*“', dass Sie auf eine ganze Zahl zu konvertieren versuchen. Tu das nicht. – DyZ
@DYZ Ich habe mit 'df.applymap (np.isreal)' nach Sonderzeichen gesucht und es war alles 'fase', das ist die richtige Art zu überprüfen? –
Aber Sie versuchen, zu Ganzzahlen zu konvertieren, nicht Reals. Sie sind nicht gleich. – DyZ