2017-08-22 12 views
2

Angesichts der folgenden Datenrahmen: Import Pandas als pdPandas ersetzen Null Mit Spaltennamen

d = pd.DataFrame({'a':[1,2,3],'b':[np.nan,5,6]}) 
d 
    a b 
0 1 NaN 
1 2 5.0 
2 3 6.0 

Für jede Spalte, in der ein Wert ist ‚NaN‘, ich mag diesen Wert mit dem Spaltennamen ersetzen . Meine realen Daten haben viele Spalten.

Wunschergebnis:

a b 
0 1 b 
1 2 5.0 
2 3 6.0 

Vielen Dank im Voraus!

Antwort

2

IIUC:

In [60]: d.fillna(d.columns.to_series()) 
Out[60]: 
    a b 
0 1 b 
1 2 5 
2 3 6 
+1

Danke, markieren als richtig, wenn ich kann. Was passiert, wenn ich stattdessen einen beliebigen Wert ungleich Null mit dem Spaltennamen füllen möchte? –

+0

@ DanceParty2, das ist eine interessante Frage! Lass mich versuchen, eine Lösung dafür zu finden ... – MaxU

+0

Sicher. Ich poste als separate Frage und teile den Link. –

Verwandte Themen