Ich versuche, die folgende Schleife zu konvertieren Verständnis der Liste hinzu:Pandas Liste Verständnis über Spalten anstelle von Zeilen
# convert integer-only valued columns from type float to type int
for col in df:
if sum(df[col]%1) == 0:
df[col]=df[col].astype(int)
Ich kann nicht scheinen, um die Syntax zu bekommen für diese richtig zu arbeiten. Dies ist, was ich bisher versucht habe:
new_df = pd.DataFrame([df[col].astype(int) if sum(df[col]%1)==0 else df[col] for col in df])
Dies scheint meinen Datenrahmen zu transponieren und nicht tatsächlich die Typen zu konvertieren. Würde mir bitte jemand helfen? Auch wenn es einen idiomatischen Weg gibt, um nur int-bewertete Spalten vom Float- in den Int-Typ zu konvertieren, bin ich offen für einen anderen Ansatz.
Oh, die eine Maske ist interessant auch danke :) – Austin
Froh kann dir helfen! – jezrael
Ich konnte nicht daran denken, eine Serie an astype zu übergeben. Werde das nicht vergessen. – Dark