pandas dataframe ersetzen Leerzeichen mit NaN
Ich habe einen dataframe mit leeren Zellen und ersetzen möchte diese leeren Zellen mit NaN.
Eine Lösung, die zuvor vorgeschlagen, in diesem forum funktioniert, aber nur wenn die Zelle ein Leerzeichen enthält:
df.replace(r'\s+',np.nan,regex=True)
Dieser code funktioniert nicht, wenn die Zelle leer ist. Hat jemand einen Vorschlag für ein panda-code zu ersetzen leere Zellen.
Wannes
Versuchen
Eigentlich mein Vorschlag ist zu aggressiv, das legt alle str
Ich denke, die einfachste Sache ist, um dies zu tun, in 2 Durchgängen-das kann ein one-liner:
df.replace(r'\s*',np.nan,regex=True)
Eigentlich mein Vorschlag ist zu aggressiv, das legt alle str
NaN
, gib mir einen momentIch denke, die einfachste Sache ist, um dies zu tun, in 2 Durchgängen-das kann ein one-liner:
df.replace(r'\s+',np.nan,regex=True).replace('',np.nan)
InformationsquelleAutor Wannes Dermauw | 2015-05-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, die einfachste Sache zu tun ist, ersetzen Sie zweimal:
2015-09-02 06:13:40
ich.e, es führte zu konvertieren diesen Wert NaN (während das war eigentlich nicht passiert). Schauen Sie für mehr Zeichen in der Zeichenfolge:.replace(r'\s+( +\.)|#',np.nan,regex=True).replace('',np.nan))
InformationsquelleAutor EdChum
Beiden anderen Antworten nicht berücksichtigt werden alle Zeichen in einer Zeichenfolge. Das ist besser:
df.replace(r'\s+( +\.)|#',np.nan,regex=True).replace('',np.nan))
Mehr docs auf: Ersetzen Sie leere Werte (white space) mit NaN in pandas
( +\.)|#
tun? Die großen Werke, durch die Art und Weiseeinfach nur neugierig, warum Sie mit
|#
? dieser ersetzt den hex-Farben in meinem df:#000000
mit NaN. es ist nicht so, es gibt Kommentare im df... es ist eher wahrscheinlich, dass es gibt Farben für Grundstücke..InformationsquelleAutor Guido
Wie über dieses?
InformationsquelleAutor UNagaswamy
Wie Sie bereits gesehen haben, wenn Sie die offensichtliche Sache und replace() mit Keiner wirft es einen Fehler:
Scheint die Lösung zu sein, ersetzen Sie einfach die leere Zeichenfolge mit numpy ist NaN.
Während ich bin nicht 100% sicher, dass pd.NaN behandelt wird, in genau der gleichen Weise, wie np.NaN auf alle edge-cases, habe ich keine Probleme gehabt. fillna() funktioniert, anhaltende Null-Werte in Datenbank statt np.NaN arbeitet, anhaltende NaN zu csv funktioniert.
(Pandas version 18.1)
InformationsquelleAutor deepgeek