Вы можете использовать следующий синтаксис для преобразования pandas DataFrame в словарь:
df.to_dict ()
Обратите внимание, что to_dict() принимает следующие возможные аргументы:
- dict: (по умолчанию) Ключи — это имена столбцов. Значения являются словарями пар индекс:данные.
- list: Ключи — это имена столбцов. Значения представляют собой списки данных столбцов.
- серия: ключи — это имена столбцов. Значения представляют собой серию данных столбца.
- split: Ключами являются «столбцы», «данные» и «индекс».
- записи: Ключи — это имена столбцов. Значения — это данные в ячейках.
- index: ключи — это индексные метки. Значения — это данные в ячейках.
В следующих примерах показано, как использовать этот синтаксис на практике со следующими пандами DataFrame:
import pandas as pd
#create DataFrame
df = pd.DataFrame({'team': ['A', 'A', 'B', 'B', 'C'],
'points': [5, 7, 9, 12, 9],
'rebounds': [11, 8, 6, 6, 5]})
#view DataFrame
df
# team points rebounds
#0 A 5 11
#1 A 7 8
#2 B 9 6
#3 B 12 6
#4 C 9 5
Пример 1: преобразование DataFrame в словарь («dict»)
Следующий код показывает, как преобразовать DataFrame pandas в словарь, используя метод ' dict ' по умолчанию:
df.to_dict()
{'team': {0: 'A', 1: 'A', 2: 'B', 3: 'B', 4: 'C'},
'points': {0: 5, 1: 7, 2: 9, 3: 12, 4: 9},
'rebounds': {0: 11, 1: 8, 2: 6, 3: 6, 4: 5}}
Пример 2: преобразование DataFrame в словарь («список»)
В следующем коде показано, как преобразовать DataFrame pandas в словарь с помощью метода ' list ':
df.to_dict('list')
{'team': ['A', 'A', 'B', 'B', 'C'],
'points': [5, 7, 9, 12, 9],
'rebounds': [11, 8, 6, 6, 5]}
Пример 3: преобразование DataFrame в словарь («серия»)
В следующем коде показано, как преобразовать DataFrame pandas в словарь с помощью метода ' series ':
df.to_dict('series')
{'team': 0 A
1 A
2 B
3 B
4 C
Name: team, dtype: object,
'points': 0 5
1 7
2 9
3 12
4 9
Name: points, dtype: int64,
'rebounds': 0 11
1 8
2 6
3 6
4 5
Name: rebounds, dtype: int64}
Пример 4: преобразование DataFrame в словарь («разделение»)
В следующем коде показано, как преобразовать DataFrame pandas в словарь с помощью метода « split »:
df.to_dict('split')
{'index': [0, 1, 2, 3, 4],
'columns': ['team', 'points', 'rebounds'],
'data': [['A', 5, 11], ['A', 7, 8], ['B', 9, 6], ['B', 12, 6], ['C', 9, 5]]}
Пример 5: преобразование DataFrame в словарь («записи»)
В следующем коде показано, как преобразовать DataFrame pandas в словарь с помощью метода ' records ':
df.to_dict('records')
[{'team': 'A', 'points': 5, 'rebounds': 11},
{'team': 'A', 'points': 7, 'rebounds': 8},
{'team': 'B', 'points': 9, 'rebounds': 6},
{'team': 'B', 'points': 12, 'rebounds': 6},
{'team': 'C', 'points': 9, 'rebounds': 5}]**
Пример 6: преобразование DataFrame в словарь («индекс»)
В следующем коде показано, как преобразовать DataFrame pandas в словарь с помощью метода ' index ':
df.to_dict('index')
{0: {'team': 'A', 'points': 5, 'rebounds': 11},
1: {'team': 'A', 'points': 7, 'rebounds': 8},
2: {'team': 'B', 'points': 9, 'rebounds': 6},
3: {'team': 'B', 'points': 12, 'rebounds': 6},
4: {'team': 'C', 'points': 9, 'rebounds': 5}}
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные преобразования данных в pandas:
Как преобразовать Pandas DataFrame в массив NumPy
Как преобразовать серию Pandas в массив NumPy
Как преобразовать Pandas DataFrame в список