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_recordsDataFrame из структурированного 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