Spec-Zone.ru › pandas 0.21

pandas.read_json

pandas.read_json(path_or_buf=None, orient=None, typ='frame', dtype=True, convert_axes=True, convert_dates=True, keep_default_dates=True, numpy=False, precise_float=False, date_unit=None, encoding=None, lines=False, chunksize=None, compression='infer') [source]

Преобразование JSON-строки в объект pandas

Параметры:

path_or_buf : допустимая JSON-строка или файлоподобный объект, по умолчанию: None

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

orient : строка,

Указание ожидаемого формата JSON-строки. Совместимые JSON-строки могут быть созданы с помощью to_json() со соответствующим значением orient. Множество возможных значений orient:

  • 'split' : словарь, подобный {index -> [index], columns -> [columns], data -> [values]}
  • 'records' : список, подобный [{column -> value}, ... , {column -> value}]
  • 'index' : словарь, подобный {index -> {column -> value}}
  • 'columns' : словарь, подобный {column -> {index -> value}}
  • 'values' : только массив значений

Разрешённые и значения по умолчанию зависят от значения параметра typ.

  • когда typ == 'series',
    • разрешённые значения orient — {'split','records','index'}
    • значение по умолчанию — 'index'
    • Индекс Series должен быть уникальным для orient 'index'.
  • когда typ == 'frame',
    • разрешённые значения orient — {'split','records','index', 'columns','values'}
    • значение по умолчанию — 'columns'
    • Индекс DataFrame должен быть уникальным для orient 'index' и 'columns'.
    • Столбцы DataFrame должны быть уникальными для orient 'index', 'columns' и 'records'.

typ : тип объекта для извлечения (ряд или таблица), по умолчанию ‘frame’

dtype : boolean или словарь, по умолчанию True

Если True, определить типы данных, если словарь со столбцом в типе данных, использовать эти типы, если False, не определять типы данных вообще, относится только к данным.

convert_axes : boolean, по умолчанию True

Попытка преобразования осей к правильным типам данных.

convert_dates : boolean, по умолчанию True

Список столбцов для анализа дат; Если True, то попытаться проанализировать столбцы, подобные датам, по умолчанию True; столбец считается похожим на дату, если

  • он оканчивается на '_at',
  • он оканчивается на '_time',
  • он начинается с 'timestamp',
  • он является 'modified', или
  • он является 'date'

keep_default_dates : boolean, по умолчанию True

Если анализируются даты, то анализируются столбцы, похожие на даты по умолчанию

numpy : boolean, по умолчанию False

Прямое декодирование в массивы numpy. Поддерживаются только числовые данные, но поддерживаются и нечисловые метки столбцов и индексов. Также обратите внимание, что порядок JSON ДОЛЖЕН быть одинаковым для каждого члена, если numpy=True.

precise_float : boolean, по умолчанию False

Установите для активации использования функции с высокой точностью (strtod) при декодировании строк в значения двойной точности. По умолчанию (False) используется быстрая, но менее точная встроенная функциональность

date_unit : строка, по умолчанию None

Единица измерения временной метки для обнаружения при преобразовании дат. По умолчанию используется попытка обнаружения правильной точности, но если это нежелательно, то передайте одно из 's', 'ms', 'us' или 'ns' для принудительного анализа только секунд, миллисекунд, микросекунд или наносекунд соответственно.

lines : boolean, по умолчанию False

Чтение файла как JSON-объекта в строке.

Введено в версии 0.19.0.

encoding : str, по умолчанию ‘utf-8’

Кодировка для декодирования py3 байтов.

Введено в версии 0.19.0.

chunksize: целое число, по умолчанию None

Возвращение объекта JsonReader для итерации. См. документацию по JSON в строках для получения дополнительной информации о chunksize. Это можно передать только если lines=True. Если значение None, файл будет прочитан в память сразу.

Введено в версии 0.21.0.

compression : {‘infer’, ‘gzip’, ‘bz2’, ‘zip’, ‘xz’, None}, по умолчанию ‘infer’

Для сжатия данных на диске на лету. Если ‘infer’, то использовать gzip, bz2, zip или xz, если путь_или_буфер заканчивается на ‘.gz’, ‘.bz2’, ‘.zip’ или ‘xz’ соответственно, и без сжатия в противном случае. При использовании ‘zip’, ZIP-архив должен содержать только один файл данных для чтения. Установите значение None для отключения сжатия.

Введено в версии 0.21.0.

Возвращает:

result : Series или DataFrame, в зависимости от значения typ.

См. также

DataFrame.to_json

Примеры

>>> df = pd.DataFrame([['a', 'b'], ['c', 'd']],
...                   index=['row 1', 'row 2'],
...                   columns=['col 1', 'col 2'])

Кодирование/декодирование DataFrame с использованием формата JSON 'split':

>>> df.to_json(orient='split')
'{"columns":["col 1","col 2"],
  "index":["row 1","row 2"],
  "data":[["a","b"],["c","d"]]}'
>>> pd.read_json(_, orient='split')
      col 1 col 2
row 1     a     b
row 2     c     d

Кодирование/декодирование DataFrame с использованием формата JSON 'index':

>>> df.to_json(orient='index')
'{"row 1":{"col 1":"a","col 2":"b"},"row 2":{"col 1":"c","col 2":"d"}}'
>>> pd.read_json(_, orient='index')
      col 1 col 2
row 1     a     b
row 2     c     d

Кодирование/декодирование DataFrame с использованием формата JSON 'records'. Обратите внимание, что метки индекса не сохраняются при использовании этой кодировки.

>>> df.to_json(orient='records')
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
>>> pd.read_json(_, orient='records')
  col 1 col 2
0     a     b
1     c     d

Кодирование со схемой таблицы

>>> df.to_json(orient='table')
'{"schema": {"fields": [{"name": "index", "type": "string"},
                        {"name": "col 1", "type": "string"},
                        {"name": "col 2", "type": "string"}],
                "primaryKey": "index",
                "pandas_version": "0.20.0"},
    "data": [{"index": "row 1", "col 1": "a", "col 2": "b"},
            {"index": "row 2", "col 1": "c", "col 2": "d"}]}'

© 2008–2012, 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/0.21.1/generated/pandas.read_json.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API