Czy jest jakaś metoda zamiany wartości na None
w Pandas w Pythonie?Jak zamienić wartości na Brak w ramce danych Pand w Pythonie?
Możesz użyć df.replace('pre', 'post')
i możesz zamienić wartość na inną, ale nie można tego zrobić, jeśli chcesz zastąpić wartością None
, co przy próbie daje dziwny wynik.
Tak oto przykład:
df = DataFrame(['-',3,2,5,1,-5,-1,'-',9])
df.replace('-', 0)
która zwraca pomyślnego rezultatu.
Ale
df.replace('-', None)
która zwraca następujący wynik:
0
0 - // this isn't replaced
1 3
2 2
3 5
4 1
5 -5
6 -1
7 -1 // this is changed to `-1`...
8 9
Dlaczego taki dziwny wynik zostać zwrócony?
Ponieważ chcę wlać tę ramkę danych do bazy danych MySQL, nie mogę umieścić wartości NaN
w żadnym elemencie w mojej ramce danych, a zamiast tego chcę wstawić None
. Z pewnością można najpierw zmienić '-'
na NaN
, a następnie przekonwertować NaN
na None
, ale chcę wiedzieć, dlaczego ramka danych działa w tak straszliwy sposób.
Czy 'write_frame' nie analizować' NaN's na 'none's? –
Yup. Napotkasz 'InternalError: (1054, u" Nieznana kolumna 'nan' w 'liście pól' ")' error. Nie wiem o żadnych rozwiązaniach innych niż konwersja 'NaN' na' None' przed wykonaniem metody 'write_frame'. – Blaszard
Którą wersję pandy używasz? –