pandas.DataFrame.to_stata
-
DataFrame.to_stata(fname, convert_dates=None, write_index=True, encoding='latin-1', byteorder=None, time_stamp=None, data_label=None, variable_labels=None, version=114, convert_strl=None)[source] -
Экспорт файлов Stata в двоичном формате dta.
Параметры: fname : путь (строка), буфер или объект пути
строка, объект пути (pathlib.Path или py._path.local.LocalPath) или объект, реализующий двоичную функцию write(). Если используется буфер, то буфер не будет автоматически закрыт после записи данных файла.
convert_dates : словарь
Словарь, сопоставляющий столбцы с типами datetime к внутреннему формату Stata для использования при записи дат. Доступные варианты — ‘tc’, ‘td’, ‘tm’, ‘tw’, ‘th’, ‘tq’, ‘ty’. Столбец может быть целым числом или именем. Столбцы datetime, для которых не указан тип преобразования, будут преобразованы к ‘tc’. Возникает исключение NotImplementedError, если столбец datetime содержит информацию о часовом поясе.
write_index : bool
Записывать индекс в набор данных Stata.
encoding : str
По умолчанию latin-1. Unicode не поддерживается.
byteorder : str
Может быть “>”, “<”, “little” или “big”. По умолчанию
sys.byteorder.time_stamp : datetime
Дата и время для использования в качестве даты создания файла. По умолчанию — текущее время.
data_label : str
Метка набора данных. Длина метки должна быть 80 символов или меньше.
variable_labels : словарь
Словарь, содержащий столбцы в качестве ключей и метки переменных в качестве значений. Длина каждой метки должна быть 80 символов или меньше.
Новая версия с 0.19.0.
version : {114, 117}
Версия для использования в выходном файле dta. Версия 114 может быть прочитана Stata 10 и более поздними версиями. Версия 117 может быть прочитана Stata 13 и более поздними версиями. Версия 114 ограничивает строковые переменные до 244 символов или меньше, в то время как версия 117 позволяет строки длиной до 2 000 000 символов.
Новая версия с 0.23.0.
convert_strl : список, необязательно
Список имен столбцов для преобразования в строковые столбцы в формате Stata StrL. Доступен только если версия — 117. Хранение строк в формате StrL может создавать более компактные файлы dta, если строки имеют более 8 символов и значения повторяются.
Новая версия с 0.23.0.
Возможные исключения: NotImplementedError
- Если datetime содержит информацию о часовом поясе
- Тип данных столбца не может быть представлен в Stata
ValueError
- Столбцы, указанные в convert_dates, не являются datetime64[ns] или datetime.datetime
- Столбец, указанный в convert_dates, отсутствует в DataFrame
- Метка категориальной переменной содержит более 32 000 символов
Новая версия с 0.19.0.
См. также
-
pandas.read_stata - Импорт файлов данных Stata
-
pandas.io.stata.StataWriter - низкоуровневый модуль записи для файлов данных Stata
-
pandas.io.stata.StataWriter117 - низкоуровневый модуль записи для файлов версии 117
Примеры
>>> data.to_stata('./data_file.dta')Или с датами
>>> data.to_stata('./date_data_file.dta', {2 : 'tw'})В качестве альтернативы можно создать экземпляр класса StataWriter
>>> writer = StataWriter('./data_file.dta', data) >>> writer.write_file()С датами:
>>> writer = StataWriter('./date_data_file.dta', data, {2 : 'tw'}) >>> writer.write_file()
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.to_stata.html