400 Stimmen

Pandas NaN durch leer/leer Zeichen ersetzen

Ich habe ein Pandas-Datenrahmen wie unten gezeigt:

    1    2       3
 0  a  NaN    read
 1  b    l  unread
 2  c  NaN    read

Ich möchte die NaN-Werte durch einen leeren String ersetzen, sodass es so aussieht:

    1    2       3
 0  a   ""    read
 1  b    l  unread
 2  c   ""    read

4voto

Bendy Latortue Punkte 441

Die Verwendung von keep_default_na=False sollte Ihnen helfen:

df = pd.read_csv(filename, keep_default_na=False)

0voto

Dinesh Khetarpal Punkte 359

Wenn Sie DataFrame in JSON umwandeln, wird NaN einen Fehler verursachen. Die beste Lösung in diesem Fall ist, NaN durch None zu ersetzen.
So geht's:

df1 = df.where((pd.notnull(df)), None)

0voto

Subbu VidyaSekar Punkte 2585

Ich habe es mit einer Spalte von Zeichenfolgenwerten mit nan versucht.

Um den nan zu entfernen und die leere Zeichenfolge zu füllen:

df.columnname.replace(np.nan,'',regex = True)

Um den nan zu entfernen und bestimmte Werte zu füllen:

df.columnname.replace(np.nan,'Wert',regex = True)

Ich habe es auch mit df.iloc versucht. aber es braucht den Index der Spalte. Also müssen Sie wieder in die Tabelle schauen. Einfach die obige Methode hat einen Schritt reduziert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X