pandas.DataFrame.to_stata#
- DataFrame.to_stata(путь, *, convert_dates=None, write_index=True, byteorder=None, time_stamp=None, data_label=None, variable_labels=None, версия=114, convert_strl=None, compression='infer', storage_options=None, value_labels=None)[источник]#
Экспортировать объект DataFrame в формат Stata dta.
Записывает DataFrame в файл набора данных Stata. Файлы "dta" содержат набор данных Stata.
- Параметры:
- путьstr, объект пути или буфер
Строка, объект пути (реализующий
os.PathLike[str]), или файлоподобный объект, реализующий двоичныйwrite()функция.- convert_datesdict
Словарь, сопоставляющий столбцы, содержащие типы даты и времени, с внутренним форматом Stata для использования при записи дат. Варианты: 'tc', 'td', 'tm', 'tw', 'th', 'tq', 'ty'. Столбец может быть либо целым числом, либо именем. Столбцы с датой и временем, для которых не указан тип преобразования, будут преобразованы в 'tc'. Вызывает NotImplementedError, если столбец с датой и временем содержит информацию о часовом поясе.
- write_indexbool
Запись индекса в набор данных Stata.
- byteorderstr
Может быть “>”, “<”, “little” или “big”. По умолчанию sys.byteorder.
- time_stampdatetime
Дата и время для использования в качестве даты создания файла. По умолчанию текущее время.
- data_labelstr, optional
Метка для набора данных. Должна содержать не более 80 символов.
- variable_labelsdict
Словарь, содержащий столбцы в качестве ключей и метки переменных в качестве значений. Каждая метка должна быть не более 80 символов.
- версия{114, 117, 118, 119, None}, по умолчанию 114
Версия для использования в выходном файле dta. Установите None, чтобы позволить pandas решить между форматами 118 или 119 в зависимости от количества столбцов во фрейме. Версию 114 можно читать в Stata 10 и позже. Версию 117 можно читать в Stata 13 или позже. Версия 118 поддерживается в Stata 14 и позже. Версия 119 поддерживается в Stata 15 и позже. Версия 114 ограничивает строковые переменные 244 символами или меньше, в то время как версии 117 и позже позволяют строки длиной до 2 000 000 символов. Версии 118 и 119 поддерживают символы Unicode, а версия 119 поддерживает более 32 767 переменных.
Версия 119 обычно должна использоваться только когда количество переменных превышает возможности формата dta 118. Экспорт меньших наборов данных в формате 119 может иметь непредвиденные последствия, и, по состоянию на ноябрь 2020, Stata SE не может читать файлы версии 119.
- convert_strlсписок, необязательный
Список имен столбцов для преобразования в строковые столбцы в формат Stata StrL. Доступно только если версия 117. Хранение строк в формате StrL может создавать меньшие dta файлы, если строки имеют более чем 8 символов и значения повторяются.
- compressionстрока или словарь, по умолчанию ‘infer’
Для сжатия выходных данных на лету. Если 'infer' и 'path' является путем, то определить сжатие по следующим расширениям: '.gz', '.bz2', '.zip', '.xz', '.zst', '.tar', '.tar.gz', '.tar.xz' или '.tar.bz2' (в противном случае без сжатия). Установить в
Noneбез сжатия. Также может быть словарем с ключом'method'установить в одно из {'zip','gzip','bz2','zstd','xz','tar'} и другие пары ключ-значение передаются вzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdCompressor,lzma.LZMAFileилиtarfile.TarFile, соответственно. Например, для ускорения сжатия и создания воспроизводимого gzip-архива можно передать:compression={'method': 'gzip', 'compresslevel': 1, 'mtime': 1}.Добавлено в версии 1.5.0: Добавлена поддержка для .tar файлы.
Изменено в версии 1.4.0: Поддержка Zstandard.
- storage_optionsdict, optional
Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в
urllib.request.Requestв качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаютсяfsspec.open. Пожалуйста, смотритеfsspecиurllibдля получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.- value_labelsсловарь словарей
Словарь, содержащий столбцы в качестве ключей и словари значений столбца в метки в качестве значений. Метки для одной переменной должны быть не более 32 000 символов.
Добавлено в версии 1.4.0.
- Вызывает:
- NotImplementedError
Если дата-время содержит информацию о часовом поясе
Тип данных столбца не представим в Stata
- ValueError
Столбцы, перечисленные в convert_dates, не являются ни datetime64[ns], ни datetime.datetime
Столбец, указанный в convert_dates, отсутствует в DataFrame
Категориальная метка содержит более 32 000 символов
Смотрите также
read_stataИмпорт файлов данных Stata.
io.stata.StataWriterНизкоуровневый модуль записи для файлов данных Stata.
io.stata.StataWriter117Низкоуровневый модуль записи для файлов версии 117.
Примеры
>>> df = pd.DataFrame({'animal': ['falcon', 'parrot', 'falcon', ... 'parrot'], ... 'speed': [350, 18, 361, 15]}) >>> df.to_stata('animals.dta')