Чтобы преобразовать словарь Python в DataFrame, вы можете использовать функцию pd.DataFrame.from_dict(). Создание объекта DataFrame осуществляется из словаря по столбцам или по индексу, позволяющему указать тип данных.
Что такое функция DataFrame.from_dict() в Pandas?
Функция Pandas DataFrame.from_dict() используется для создания DataFrame из заданного массива или словарей. По умолчанию это столбцы. Когда мы делаем ориентацию по столбцам, лучше делать это с помощью конструктора DataFrame.
Синтаксис
|
1 |
pd.DataFrame.from_dict(data, orient=’columns’, dtype=None) |
Параметры
Функция from_dict() принимает три параметра.
- data: это первый параметр метода, который мы хотим преобразовать в DataFrame из входного словаря.
- orient: Это второй параметр. Он может иметь два значения: «columns» или «index». Это зависит от типа ориентации, которую мы хотим. Если ключи передаются словарем, это должны быть столбцы результирующего DataFrame, следовательно, мы должны передавать «columns», которые установлены по умолчанию. В других случаях, когда ключи передаются в строках, мы передаем ‘index’ в параметре ориентации. Если он используется с ориентацией столбцов, возникает ValueError.
- dtype: по умолчанию это None. Мы используем параметр dtype, если хотим принудительно передать определенный тип данных в результирующий DataFrame.

Примеры программ на pandas.DataFrame.from_dict()
Напишем программу, показывающую работу pandas.DataFrame.from_dict().
Пример 1
|
1 2 3 4 5 6 |
import pandas as pd data = {'Name': ['Rohit', 'Raj', 'Shubh', 'Shivam'], 'Marks': [95, 74, 84, 26]} df = pd.DataFrame.from_dict(data) print(df) print(type(df)) |
Выход:
|
1 2 3 4 5 6 |
Name Marks 0 Rohit 95 1 Raj 74 2 Shubh 84 3 Shivam 26 <class 'pandas.core.frame.DataFrame'> |
В приведенной выше программе мы создали словарь, состоящий из имени и отметки учащихся, а затем преобразовали словарь в DataFrame.
Мы также напечатали тип df, используя метод type() в Python.
Пример 2
Напишем программу, показывающую работу from_dict(), минуя ключи в строках, тем самым устанавливая ориентацию по индексу.
|
1 2 3 4 5 |
import pandas as pd data = {'Name': ['Rohit', 'Raj', 'Shubh', 'Shivam'], 'Marks': [95, 74, 84, 26]} df = pd.DataFrame.from_dict(data, orient='index') print(df) |
Выход:
|
1 2 3 |
0 1 2 3 Name Rohit Raj Shubh Shivam Marks 95 74 84 26 |
Здесь мы видим, что если мы ориентируем DataFrame по индексу, то мы получаем Name и Marks в одном столбце и все остальные данные в соответствии с ним.
Назначение меток столбцам DataFrame
Мы можем назначать метки столбцам DataFrame при преобразовании в Dict с ориентацией индекса.
|
1 2 3 4 5 |
import pandas as pd data = {'Name': ['Rohit', 'Raj', 'Shubh', 'Shivam'], 'Marks': [95, 74, 84, 26]} df = pd.DataFrame.from_dict(data, columns=['A', 'B', 'C', 'D'], orient='index') print(df) |
Выход:
|
1 2 3 |
A B C D Name Rohit Raj Shubh Shivam Marks 95 74 84 26 |
В этом примере мы определили метки A, B, C, D для столбцов.
