2012-08-09 11 views
10

Ich habe eine DataFrame mit einer Mischung aus Nullen und anderen Zahlen. Ich möchte die 0's in fehlende umwandeln.Konvertieren von Daten in fehlende Pandas

Zum Beispiel, ich suche für den Befehl, die

In [618]: a=DataFrame(data=[[1,2],[0,1],[1,2],[0,0]]) 

In [619]: a 
Out[619]: 
    0 1 
0 1 2 
1 0 1 
2 1 2 
3 0 0 

zu

In [619]: a 
Out[619]: 
    0 1 
0 1 2 
1 NaN 1 
2 1 2 
3 NaN NaN 

Ich versuchte pandas.replace (0, NaN), aber ich erhalte eine Fehlermeldung umwandeln würde, dass NaN nicht definiert. Und ich sehe nirgendwo NaNN importieren.

Antwort

10

Tun Sie einfach from numpy import nan. (Sie müssen Ihre DataTable in Float-Typ konvertieren, da Sie NaN in Ganzzahl-Arrays nicht verwenden können.)

+2

es funktioniert nicht, da der Typ der Spalten int ist: 'ValueError: Float NaN kann nicht konvertiert werden integer' – bmu

+2

Nun, dann müssen Sie die Daten in Floats konvertieren. Sie können 'NaN' nicht mit ganzzahligen Datenstrukturen verwenden. Siehe http://stackoverflow.com/questions/11548005/numpy-or-pandas-keeping-array-type-as-integ-whicha-having-a-nan-value. – BrenBarn

+3

so sollten Sie dies in Ihrer Antwort erklären, in dem Moment, in dem die Antwort nicht zu der Frage passt. – bmu

Verwandte Themen