2016-11-30 1 views
-1

Ich habe Daten aus einer CSV-Datei importiert, die Spalten NAME, ADRESSE, PHONE_NUMBER hat. Manchmal hat mindestens 1 der Spalten einen fehlenden Wert für diese Zeile.Python Panda verwenden, um neue Tabelle mit NaN-Werten zu füllen

zB
0 - Bill, Flat 2, 555123 
1 - Katie, NaN, NaN 
2 - Ruth, Flat 1, ? 

Ich versuche, die NaN-Werte zu erhalten, um eine neue Tabelle zu füllen, die ich tun kann, wenn ein Füllstoff Wert in wie gesetzt worden: newDetails = details [details['PHONE_NUMBER']=="?"] das gibt mir:

2 - Ruth, Flat 1, ? 

Ich habe versucht, fillna zu verwenden, aber ich konnte die Syntax nicht finden, die funktionieren würde.

+2

Können Sie, was die gewünschte Ausgabe veröffentlichen sollte sein, wie Sie nicht erklärt haben, was die fehlenden Werte gefüllt werden sollten, fragen Sie auch, wie man "?" durch "NaN" ersetzt? – EdChum

Antwort

2

Pandas fillna (pandas.DataFrame.fillna) ist ziemlich einfach. Angenommen, Ihr Datenrahmen ist df. Hier ist, wie Sie es tun können.

df.fillna('_missing_value_', inplace=True) 

Es sieht so aus, als hätten Sie verschiedene Felder mit fehlendem Wert. werden kann, versuchen Sie dies:

df = df.where((pd.notnull(df)),'_missing_value_') 

Edit1 in einer Spalte

zu ersetzen Wenn Sie eine Spalte Flat 2 ersetzen möchten, gehen Sie wie folgt:

col_flat = df[['Flat 2']].fillna('?') 
df['Flat 2'] = col_flat['Flat 2'] 
+0

Danke für die Antwort. Diese Art funktionierte, aber es ersetzte alle NaN-Werte in jeder Spalte und nicht in einer bestimmten Spalte. Aus irgendeinem Grund habe ich auch längere Nummern wie 140191, die jetzt als 1.40191e + 06 –

+1

angezeigt werden Siehe meine Bearbeitung dafür –

Verwandte Themen