pandas.DataFrame.to_dict
-
DataFrame.to_dict(orient='dict', into=<class 'dict'>)[source] -
Преобразовать DataFrame в словарь.
Тип пар ключ-значение можно настроить параметрами (см. ниже).
Параметры: orient : str {‘dict’, ‘list’, ‘series’, ‘split’, ‘records’, ‘index’}
Определяет тип значений словаря.
- ‘dict’ (по умолчанию) : словарь типа {столбец -> {индекс -> значение}}
- ‘list’ : словарь типа {столбец -> [значения]}
- ‘series’ : словарь типа {столбец -> Series(значения)}
- ‘split’ : словарь типа {‘индекс’ -> [индекс], ‘столбцы’ -> [столбцы], ‘данные’ -> [значения]}
- ‘records’ : список типа [{столбец -> значение}, … , {столбец -> значение}]
- ‘index’ : словарь типа {индекс -> {столбец -> значение}}
Допускаются сокращения.
sуказывает наseriesиspуказывает наsplit.into : класс, по умолчанию dict
Подкласс collections.Mapping, используемый для всех отображений в возвращаемом значении. Может быть фактическим классом или пустым экземпляром типа отображения, который вы хотите. Если вы хотите collections.defaultdict, вы должны передать его инициализированным.
В версии 0.21.0.
Возвращает: -
result : collections.Mapping like {column -> {index -> value}}
См. также
-
DataFrame.from_dict - создание DataFrame из словаря
-
DataFrame.to_json - преобразование DataFrame в формат JSON
Примеры
>>> df = pd.DataFrame({'col1': [1, 2], ... 'col2': [0.5, 0.75]}, ... index=['a', 'b']) >>> df col1 col2 a 1 0.50 b 2 0.75 >>> df.to_dict() {'col1': {'a': 1, 'b': 2}, 'col2': {'a': 0.5, 'b': 0.75}}Можно указать ориентацию возвращаемого значения.
>>> df.to_dict('series') {'col1': a 1 b 2 Name: col1, dtype: int64, 'col2': a 0.50 b 0.75 Name: col2, dtype: float64}>>> df.to_dict('split') {'index': ['a', 'b'], 'columns': ['col1', 'col2'], 'data': [[1.0, 0.5], [2.0, 0.75]]}>>> df.to_dict('records') [{'col1': 1.0, 'col2': 0.5}, {'col1': 2.0, 'col2': 0.75}]>>> df.to_dict('index') {'a': {'col1': 1.0, 'col2': 0.5}, 'b': {'col1': 2.0, 'col2': 0.75}}Также можно указать тип отображения.
>>> from collections import OrderedDict, defaultdict >>> df.to_dict(into=OrderedDict) OrderedDict([('col1', OrderedDict([('a', 1), ('b', 2)])), ('col2', OrderedDict([('a', 0.5), ('b', 0.75)]))])Если вам нужен
defaultdict, вам нужно его инициализировать:>>> dd = defaultdict(list) >>> df.to_dict('records', into=dd) [defaultdict(<class 'list'>, {'col1': 1.0, 'col2': 0.5}), defaultdict(<class 'list'>, {'col1': 2.0, 'col2': 0.75})]
© 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.23.4/generated/pandas.DataFrame.to_dict.html