РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
336 of 687 menu

Функция json_normalize

Функция json_normalize применяется для преобразования списка словарей или вложенных JSON-объектов в DataFrame. Она позволяет развернуть вложенные структуры в отдельные столбцы, используя разделитель в именах. Основные параметры: data - входные данные, record_path - путь к записям внутри JSON, meta - поля для добавления в вывод, sep - разделитель для вложенных ключей (по умолчанию точка).

Синтаксис

pd.json_normalize(data, record_path=None, meta=None, sep='.')

Пример

Давайте нормализуем простой список словарей:

import pandas as pd data = [ {'a': 1, 'b': 10}, {'a': 2, 'b': 20}, {'a': 3, 'b': 30} ] df = pd.json_normalize(data) print(df)

Результат выполнения кода:

a b 0 1 10 1 2 20 2 3 30

Пример

Давайте обработаем данные с вложенной структурой:

import pandas as pd data = [ {'id': 1, 'info': {'a': 10, 'b': 20}}, {'id': 2, 'info': {'a': 30, 'b': 40}} ] df = pd.json_normalize(data) print(df)

Результат выполнения кода:

id info.a info.b 0 1 10 20 1 2 30 40

Пример

Используем параметр record_path для извлечения записей из массива:

import pandas as pd data = { 'items': [ {'a': 1, 'b': 10}, {'a': 2, 'b': 20} ], 'count': 2 } df = pd.json_normalize(data, record_path='items') print(df)

Результат выполнения кода:

a b 0 1 10 1 2 20

Пример

Используем параметр meta для добавления дополнительных полей:

import pandas as pd data = { 'items': [ {'a': 1, 'b': 10}, {'a': 2, 'b': 20} ], 'category': 'A' } df = pd.json_normalize( data, record_path='items', meta=['category'] ) print(df)

Результат выполнения кода:

a b category 0 1 10 A 1 2 20 A

Пример

Изменим разделитель для вложенных ключей:

import pandas as pd data = [ {'id': 1, 'info': {'a': 10, 'b': 20}}, {'id': 2, 'info': {'a': 30, 'b': 40}} ] df = pd.json_normalize(data, sep='_') print(df)

Результат выполнения кода:

id info_a info_b 0 1 10 20 1 2 30 40

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

  • функция read_json,
    которая загружает JSON из файла или строки
  • функция read_csv,
    которая загружает данные из CSV-файла
  • функция read_table,
    которая загружает данные из табличного файла
  • функция read_xml,
    которая загружает данные из XML-файла
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить