Spec-Zone.ru › pandas 0.25

pandas.DataFrame.to_dict

DataFrame.to_dict(self, 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 : class, default dict

Подкласс collections.abc.Mapping, используемый для всех отображений в возвращаемом значении. Может быть фактическим классом или пустым экземпляром типа отображения, который вы хотите. Если вы хотите collections.defaultdict, вы должны передать его инициализированным.

Новый в версии 0.21.0.

Возвращает:
dict, list или collections.abc.Mapping

Возвращает объект collections.abc.Mapping, представляющий DataFrame. Результирующее преобразование зависит от параметра orient.

См. также

DataFrame.from_dict
Создание DataFrame из словаря.
DataFrame.to_json
Преобразование DataFrame в формат JSON.

Примеры

>>> df = pd.DataFrame({'col1': [1, 2],
...                    'col2': [0.5, 0.75]},
...                   index=['row1', 'row2'])
>>> df
      col1  col2
row1     1  0.50
row2     2  0.75
>>> df.to_dict()
{'col1': {'row1': 1, 'row2': 2}, 'col2': {'row1': 0.5, 'row2': 0.75}}

Вы можете указать ориентацию возвращаемого значения.

>>> df.to_dict('series')
{'col1': row1    1
         row2    2
Name: col1, dtype: int64,
'col2': row1    0.50
        row2    0.75
Name: col2, dtype: float64}
>>> df.to_dict('split')
{'index': ['row1', 'row2'], 'columns': ['col1', 'col2'],
 'data': [[1, 0.5], [2, 0.75]]}
>>> df.to_dict('records')
[{'col1': 1, 'col2': 0.5}, {'col1': 2, 'col2': 0.75}]
>>> df.to_dict('index')
{'row1': {'col1': 1, 'col2': 0.5}, 'row2': {'col1': 2, 'col2': 0.75}}

Вы также можете указать тип отображения.

>>> from collections import OrderedDict, defaultdict
>>> df.to_dict(into=OrderedDict)
OrderedDict([('col1', OrderedDict([('row1', 1), ('row2', 2)])),
             ('col2', OrderedDict([('row1', 0.5), ('row2', 0.75)]))])

Если вам нужен defaultdict, вам нужно его инициализировать:

>>> dd = defaultdict(list)
>>> df.to_dict('records', into=dd)
[defaultdict(<class 'list'>, {'col1': 1, 'col2': 0.5}),
 defaultdict(<class 'list'>, {'col1': 2, '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.25.0/reference/api/pandas.DataFrame.to_dict.html

Spec-Zone.ru

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