Панды и стата 13 файлов
У меня установлены панды 0.13.1, но pandas.read_stata()
не может прочитать файлы .dta, созданные в формате Stata 13, с ошибкой
TypeError: cannot concatenate 'str' and 'NoneType' objects
Нет проблем с тем же набором данных, сохраненным в формате Stata 12.
Я думал, что последний выпуск панд (0.13.1) обрабатывал файлы набора данных Stata 13. Я делаю что-то неправильно?
1 ответ
Я предполагаю, что вы не делаете ничего по своей сути неправильно, но ваша версия панд не может обрабатывать файлы набора данных Stata 13. Как описано в справке dta, формат наборов данных.dta Stata изменился с выпуском Stata 13.
Решение 1.
Обновите ваших панд до v0.14.0 (31 мая 2014 г.):
read_stata теперь принимает формат Stata 13 (GH4291)
Источник: http://pandas.pydata.org/pandas-docs/stable/whatsnew.html
Решение 2.
Если у вас есть доступ к Stata, есть несколько способов вернуться к более ранним / различным форматам, которые должны работать с вашей более ранней версией панд. Смотрите этот ответ:
редактировать
Решение 3.
После некоторого обсуждения в GitHub проблемы, с которыми сталкиваются панды в наборах данных Stata 13, являются строковыми переменными. Таким образом, другое решение может быть преобразование строки в числовой тип. Увидеть help encode
, который создаст соответствующие метки стоимости; или, может быть help real
или же help destring
, если строки оказываются просто числами в строковом типе.