Ich habe eine Pandas Dataframe, die 46 Spalten und 6 Zeilen hat.Pandas aktualisieren Datenrahmen Werte, wenn Zelle enthält '-'
Index Column1 Column2 Column3 Column4 ... # Cant type all 46 columns.
2012 5626 fooo - barrr
2013 5655h booo - barr
2014 5626d zooo - -
LTM 56 gooo greed -
Gibt es eine Möglichkeit für mich durch diesen Datenrahmen zu gehen und aktualisieren all -
Werte 0
oder null
Werte sein?
Ich habe versucht:
for zzz in df.columns: # since df.columns will return me the names of the columns
if df_final[zzz].any() == '-':
df_final[zzz] = 0
print(df_final)
Dies ist jedoch nur alles druckt, wie es ist. es konvertiert nicht -
in 0/null
Auch wenn Ihr Code funktionieren würde, ist es die falsche Semantik, da sie die gesamte Spalte auf "0" aktualisiert hätte. Sie haben auch nicht angezeigt, was 'df_final' in Ihrem Code-Snippet ist – EdChum
@jake, Suggestion: vermeiden Schleifen. Vermeiden Sie es, Ihre DataFrames so zu codieren, dass sie in Schleifen arbeiten, die Ihnen keine Ergebnisse liefern. Python hat eine andere Art, Namen zu handhaben, und die Dinge sind von nirgendwo veränderbar. Und Pandas geben fast immer eine Kopie zurück, so dass Änderungen keine Auswirkungen auf die Eltern haben. Verwenden Sie die DataFrame-Methoden. Lies die Pandas-Dokumentation, wie das geht. – Kartik