Структура DataFrame предоставляет набор инструментов для манипулирования и проверки данных. DataFrames обеспечивают мощную основу для любого проекта по науке о данных, и знание того, как создать их из существующих данных, имеет решающее значение.
В Pandas есть встроенный метод преобразования словаря, ключи которого являются метками столбцов, а значения — это список записей таблицы в DataFrame. Другими словами, Pandas преобразует следующий словарь:
import pandas as pd
dictOne = {"Column A":[1, 2, 3],
"Column B":[4, 5, 6],
"Column C":[7, 8, 9]}
print(pd.DataFrame(dictOne))
Column A Column B Column C
0 1 4 7
1 2 5 8
2 3 6 9
Как видно из приведенного выше примера, преобразование из словаря в DataFrame было так же просто, как вызов конструктора класса pandas.DataFrame для словаря. Вы не видите вызов метода from_dict, потому что он вызывается автоматически, когда мы ссылаемся на конструктор pandas.DataFrame. Если мы хотим получить доступ к дополнительным функциям для импорта словарей, нам нужно напрямую использовать метод from_dict. Давайте посмотрим, как мы это сделаем.
import pandas as pd
dictOne = {"Column A":[1, 2, 3],
"Column B":[4, 5, 6],
"Column C":[7, 8, 9]}
print(pd.DataFrame.from_dict(dictOne))
Column A Column B Column C
0 1 4 7
1 2 5 8
2 3 6 9
Теперь предположим, что у нас есть словарь содержащий строки DataFrame. Мы можем импортировать эти данные, используя параметр orient = ‘index’:
import pandas as pd # Don't forget to import!
dictTwo = {"Row 1":[1, 2, 3],
"Row 2":[4, 5, 6],
"Row 3":[7, 8, 9]}
df = pd.DataFrame.from_dict(dictTwo, orient='index')
print(df)
0 1 2
Row 1 1 2 3
Row 2 4 5 6
Row 3 7 8 9
Теперь мы видим, что метки словаря становятся именами индексов, а записи списка становятся значениями столбцов. Обратите внимание, что, поскольку список меток столбцов не был указан, Pandas автоматически выбрал вектор чисел в качестве имен столбцов. Мы можем добавить собственный набор имен, используя опцию столбцов.
import pandas as pd # Don't forget to import!
colNames = ["Column A", "Column B", "Column C"]
dictTwo = {"Row 1":[1, 2, 3],
"Row 2":[4, 5, 6],
"Row 3":[7, 8, 9]}
df = pd.DataFrame.from_dict(dictTwo, orient='index', columns=colNames)
print(df)
Column A Column B Column C
Row 1 1 2 3
Row 2 4 5 6
Row 3 7 8 9
Стоит отметить, что некоторые версии Pandas не включают опцию столбцов. В этих случаях мы можем назначить список имен непосредственно атрибуту columns объекта DataFrame, чтобы получить тот же результат. После того, как вы преобразуете свой словарь в DataFrame, вы добавите свои собственные имена столбцов, используя такой код:
colNames = ["Column A", "Column B", "Column C"]
df.columns = colNames
Column A Column B Column C
Row 1 1 2 3
Row 2 4 5 6
Row 3 7 8 9