Есть ли способ заменить значения на None
в Pandas в Python?
Вы можете использовать df.replace('pre', 'post')
и можете заменить значение другим, но этого нельзя сделать, если вы хотите заменить значением None
, что при попытке получить странный результат.
Итак, вот пример:
df = DataFrame(['-',3,2,5,1,-5,-1,'-',9])
df.replace('-', 0)
который возвращает успешный результат.
Но,
df.replace('-', None)
который возвращает следующий результат:
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
Почему такой странный результат возвращается?
Поскольку я хочу добавить этот фрейм данных в базу данных MySQL, я не могу поместить значения NaN
ни в один элемент моего фрейма данных и вместо этого хочу добавить None
. Конечно, вы можете сначала изменить '-'
на NaN
а затем преобразовать NaN
в None
, но я хочу знать, почему фрейм данных работает таким ужасным образом.
Протестировано на пандах 0.12.0 dev на Python 2.7 и OS X 10.8. Python - это предустановленная версия для OS X, и я установил pandas, используя скрипт SciPy Superpack, для вашей информации.