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, объект пути или буферизованный объект
-
Любой допустимый строковый путь приемлем. Строка может быть URL-адресом. Допустимые схемы URL включают http, ftp, s3 и файл. Для URL-адресов файлов ожидается хост. Местный файл может быть:
file://localhost/path/to/table.dta.Если вы хотите передать объект пути, pandas принимает любой
os.PathLike.Под файлоподобным объектом мы понимаем объекты с методом
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:список или 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','tar'}, а другие пары ключ-значение передаются вzipfile.ZipFile,gzip.GzipFile,bz2.BZ2File,zstandard.ZstdDecompressorили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 или StataReader
См. также
io.stata.StataReader-
Базовый читатель для файлов данных Stata.
DataFrame.to_stata-
Экспорт файлов данных Stata.
Примечания
Категориальные переменные, считанные через итератор, могут не иметь одинаковых категорий и типа данных. Это происходит, когда переменная, хранящаяся в файле DTA, связана с неполным набором меток значений, которые метят только строгое подмножество значений.
Примеры
Создание тестового файла Stata для этого примера >>> df = pd.DataFrame({‘animal’: [‘falcon’, ‘parrot’, ‘falcon’, … ‘parrot’], … ‘speed’: [350, 18, 361, 15]}) # doctest: +SKIP >>> df.to_stata(‘animals.dta’) # doctest: +SKIP
Чтение файла Stata dta:
>>> df = pd.read_stata('animals.dta')Чтение файла Stata dta фрагментами по 10 000 строк: >>> values = np.random.randint(0, 10, size=(20_000, 1), dtype=”uint8”) # doctest: +SKIP >>> df = pd.DataFrame(values, columns=[“i”]) # doctest: +SKIP >>> df.to_stata(‘filename.dta’) # doctest: +SKIP
>>> itr = pd.read_stata('filename.dta', chunksize=10000) >>> 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/1.5.0/reference/api/pandas.read_stata.html