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