pandas.DataFrame.from_dict#

метод класса DataFrame.from_dict(данные, orient='columns', dtype=None, столбцы=None)[источник]#

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

Создает объект DataFrame из словаря по столбцам или по индексу с возможностью указания типа данных.

Параметры:
данныеdict

В форме {field : array-like} или {field : dict}.

orient{‘columns’, ‘index’, ‘tight’}, по умолчанию ‘columns’

«Ориентация» данных. Если ключи переданного словаря должны быть столбцами результирующего DataFrame, передайте 'columns' (по умолчанию). Иначе, если ключи должны быть строками, передайте 'index'. Если 'tight', предполагается словарь с ключами ['index', 'columns', 'data', 'index_names', 'column_names'].

Добавлено в версии 1.4.0: ‘tight’ как допустимое значение для orient аргумент

dtypedtype, по умолчанию None

Тип данных для принудительного применения после построения DataFrame, иначе выводится автоматически.

столбцысписок, по умолчанию None

Метки столбцов для использования, когда orient='index'. Вызывает ValueError если используется с orient='columns' или orient='tight'.

Возвращает:
DataFrame

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

DataFrame.from_records

DataFrame из структурированного ndarray, последовательности кортежей или словарей, или DataFrame.

DataFrame

Создание объекта DataFrame с помощью конструктора.

DataFrame.to_dict

Преобразуйте DataFrame в словарь.

Примеры

По умолчанию ключи словаря становятся столбцами DataFrame:

>>> data = {'col_1': [3, 2, 1, 0], 'col_2': ['a', 'b', 'c', 'd']}
>>> pd.DataFrame.from_dict(data)
   col_1 col_2
0      3     a
1      2     b
2      1     c
3      0     d

Укажите orient='index' для создания DataFrame с использованием ключей словаря в качестве строк:

>>> data = {'row_1': [3, 2, 1, 0], 'row_2': ['a', 'b', 'c', 'd']}
>>> pd.DataFrame.from_dict(data, orient='index')
       0  1  2  3
row_1  3  2  1  0
row_2  a  b  c  d

При использовании ориентации 'index' имена столбцов можно указать вручную:

>>> pd.DataFrame.from_dict(data, orient='index',
...                        columns=['A', 'B', 'C', 'D'])
       A  B  C  D
row_1  3  2  1  0
row_2  a  b  c  d

Укажите orient='tight' для создания DataFrame с использованием 'плотного' формата:

>>> data = {'index': [('a', 'b'), ('a', 'c')],
...         'columns': [('x', 1), ('y', 2)],
...         'data': [[1, 3], [2, 4]],
...         'index_names': ['n1', 'n2'],
...         'column_names': ['z1', 'z2']}
>>> pd.DataFrame.from_dict(data, orient='tight')
z1     x  y
z2     1  2
n1 n2
a  b   1  3
   c   2  4