pandas.read_stata
- pandas.read_stata(filepath_or_buffer, *, convert_dates=True, convert_categoricals=True, index_col=None, convert_missing=False, preserve_dtypes=True, columns=None, order_categoricals=True, chunksize=None, iterator=False, compression='infer', storage_options=None)[source]
-
Чтение файла Stata в DataFrame.
- Параметры:
-
- filepath_or_buffer:str, path object или file-like object
-
Любой допустимый путь к файлу является приемлемым. Строка может быть URL-адресом. Поддерживаются URL-схемы http, ftp, s3 и file. Для URL-адресов файлов ожидается хост. Локальный файл может быть:
file://localhost/path/to/table.dta.Если вы хотите передать объект пути, pandas принимает любой
os.PathLike.Под file-like объектом мы подразумеваем объекты с методом
read(), например, дескриптор файла (например, с помощью встроенной функцииopen) илиStringIO. - convert_dates:bool, по умолчанию True
-
Преобразовать переменные дат в значения времени DataFrame.
- convert_categoricals:bool, по умолчанию True
-
Чтение меток значений и преобразование столбцов в категориальные/факторные переменные.
- index_col:str, необязательно
-
Столбец для установки в качестве индекса.
- convert_missing:bool, по умолчанию False
-
Флаг, указывающий, нужно ли преобразовывать пропущенные значения в их представления Stata. Если False, пропущенные значения заменяются на nan. Если True, столбцы, содержащие пропущенные значения, возвращаются с типами данных object, а пропущенные значения представляются объектами StataMissingValue.
- preserve_dtypes:bool, по умолчанию True
-
Сохранить типы данных Stata. Если False, числовые данные повышаются до стандартных типов pandas для внешних данных (float64 или int64).
- columns:list или None
-
Столбцы для сохранения. Столбцы будут возвращены в заданном порядке. None возвращает все столбцы.
- order_categoricals:bool, по умолчанию True
-
Флаг, указывающий, упорядочены ли преобразованные категориальные данные.
- chunksize:int, по умолчанию None
-
Возврат объекта StataReader для итераций, возвращает куски с заданным количеством строк.
- iterator:bool, по умолчанию False
-
Возврат объекта StataReader.
- compression:str или dict, по умолчанию ‘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_options:dict, необязательно
-
Дополнительные параметры, которые имеют смысл для определенного подключения к хранилищу, например, хост, порт, имя пользователя, пароль и т. д. Для 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.
Примечания
Категориальные переменные, считанные с помощью итератора, могут иметь не те же категории и тип данных. Это происходит, когда переменная, хранящаяся в файле DTA, связана с неполным набором меток значений, которые метят только строгую подгруппу значений.
Примеры
Создание dummy 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
© 2008–2022, 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/2.2.2/reference/api/pandas.read_stata.html