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')