2012-08-09 16 views
10

Mam DataFrame z mieszanką 0 i innych liczb. Chciałbym przekonwertować zero na brakujące.Konwersja danych na brakujące w pandach

Na przykład, szukam polecenia, które przekształcenia

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 

do

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

Próbowałem pandas.replace (0, NaN), ale pojawia się błąd, który jest NaN Nie określono. I nie widzę nigdzie, by importować NaN z.

Odpowiedz

10

Po prostu wykonaj from numpy import nan. (Konieczne będzie przekonwertowanie DataTable na typ zmiennoprzecinkowy, ponieważ nie można używać NaN w tablicach całkowitych.)

+2

To nie działa, ponieważ typ kolumn jest int: 'ValueError: nie można przekonwertować float NaN na integer' – bmu

+2

Cóż, wtedy musisz przekonwertować dane na zmienne. Nie możesz użyć 'NaN' w strukturach danych liczbowych. Zobacz http://stackoverflow.com/questions/11548005/numpy-or-pandas-keeping-array-type-as-integer-while-having-a-nan-value. – BrenBarn

+3

, więc powinieneś to wyjaśnić w swojej odpowiedzi, gdy odpowiedź nie pasuje do pytania. – bmu

Powiązane problemy