pandas.read_stata#

pandas.read_stata(filepath_or_buffer, *, convert_dates=True, convert_categoricals=True, index_col=None, convert_missing=False, preserve_dtypes=True, столбцы=None, order_categoricals=True, chunksize=None, итератор=False, compression='infer', storage_options=None)[источник]#

Прочитать файл Stata в DataFrame.

Параметры:
filepath_or_bufferstr, объект пути или файлоподобный объект

Допустим любой корректный строковый путь. Строка может быть URL. Допустимые схемы URL включают http, ftp, s3 и file. Для file URL ожидается хост. Локальный файл может быть: file://localhost/path/to/table.dta.

Если вы хотите передать объект пути, pandas принимает любой os.PathLike.

Под файлоподобным объектом мы подразумеваем объекты с read() метод, такой как файловый дескриптор (например, через встроенную функцию open функция) или StringIO.

convert_datesbool, по умолчанию True

Преобразование переменных даты в значения времени DataFrame.

convert_categoricalsbool, по умолчанию True

Чтение меток значений и преобразование столбцов в категориальные/факторные переменные.

index_colstr, optional

Столбец для установки в качестве индекса.

convert_missingbool, по умолчанию False

Флаг, указывающий, следует ли преобразовывать пропущенные значения в их представления Stata. Если False, пропущенные значения заменяются на nan. Если True, столбцы, содержащие пропущенные значения, возвращаются с типами данных object, а пропущенные значения представлены объектами StataMissingValue.

preserve_dtypesbool, по умолчанию True

Сохранять типы данных Stata. Если False, числовые данные повышаются до типов pandas по умолчанию для внешних данных (float64 или int64).

столбцысписок или None

Столбцы для сохранения. Столбцы будут возвращены в указанном порядке. None возвращает все столбцы.

order_categoricalsbool, по умолчанию True

Флаг, указывающий, упорядочены ли преобразованные категориальные данные.

chunksizeint, по умолчанию None

Возвращает объект StataReader для итераций, возвращает блоки с заданным количеством строк.

итераторbool, по умолчанию False

Возвращает объект StataReader.

compressionстрока или словарь, по умолчанию ‘infer’

Для динамической распаковки данных на диске. Если 'infer' и 'filepath_or_buffer' является путем, то определить сжатие по следующим расширениям: '.gz', '.bz2', '.zip', '.xz', '.zst', '.tar', '.tar.gz', '.tar.xz' или '.tar.bz2' (в противном случае без сжатия). Если используется 'zip' или 'tar', ZIP-файл должен содержать только один файл данных для чтения. Установить в None для отсутствия распаковки. Также может быть словарём с ключом 'method' установить в одно из {'zip', 'gzip', 'bz2', 'zstd', 'xz', 'tar'} и другие пары ключ-значение передаются в zipfile.ZipFile, gzip.GzipFile, bz2.BZ2File, zstandard.ZstdDecompressor, lzma.LZMAFile или tarfile.TarFile, соответственно. В качестве примера, следующее может быть передано для декомпрессии Zstandard с использованием пользовательского словаря сжатия: compression={'method': 'zstd', 'dict_data': my_compression_dict}.

Добавлено в версии 1.5.0: Добавлена поддержка для .tar файлы.

storage_optionsdict, optional

Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаются fsspec.open. Пожалуйста, смотрите fsspec и urllib для получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.

Возвращает:
DataFrame или pandas.api.typing.StataReader

Смотрите также

io.stata.StataReader

Низкоуровневый ридер для файлов данных Stata.

DataFrame.to_stata

Экспорт файлов данных Stata.

Примечания

Категориальные переменные, прочитанные через итератор, могут не иметь одинаковых категорий и dtype. Это происходит, когда переменная, хранящаяся в файле DTA, связана с неполным набором меток значений, которые маркируют только строгое подмножество значений.

Примеры

Создание фиктивного файла stata для этого примера

>>> df = pd.DataFrame({'animal': ['falcon', 'parrot', 'falcon', 'parrot'],
...                     'speed': [350, 18, 361, 15]})  
>>> df.to_stata('animals.dta')  

Чтение файла Stata dta:

>>> df = pd.read_stata('animals.dta')  

Чтение файла Stata dta частями по 10 000 строк:

>>> values = np.random.randint(0, 10, size=(20_000, 1), dtype="uint8")  
>>> df = pd.DataFrame(values, columns=["i"])  
>>> df.to_stata('filename.dta')  
>>> with pd.read_stata('filename.dta', chunksize=10000) as itr: 
>>>     for chunk in itr:
...         # Operate on a single chunk, e.g., chunk.mean()
...         pass