Часто возникает задача преобразования словаря Python в DataFrame библиотеки pandas для удобства дальнейшего анализа данных. Словарь может выглядеть, например, так:
1 2 3 4 5 6 7 | dict_data = { '2022-01-01' : 100 , '2022-01-02' : 200 , '2022-01-03' : 300 , '2022-01-04' : 400 , '2022-01-05' : 500 } |
Здесь ключами словаря являются даты, а значениями — числа, которые соответствуют этим датам. Задача состоит в том, чтобы преобразовать этот словарь в DataFrame, в котором даты и соответствующие им числа будут двумя отдельными столбцами.
Представление данных в виде DataFrame может выглядеть следующим образом:
| | Date | Value |
|—|————|——-|
| 0 | 2022-01-01 | 100 |
| 1 | 2022-01-02 | 200 |
| 2 | 2022-01-03 | 300 |
| 3 | 2022-01-04 | 400 |
| 4 | 2022-01-05 | 500 |
Одним из возможных решений может быть преобразование каждой пары ключ-значение в словарь, а затем построение DataFrame на основе получившегося словаря словарей. Однако, это может быть не самым оптимальным решением, особенно если исходный словарь содержит большое количество элементов.
Библиотека pandas предоставляет более прямой и эффективный способ преобразования словаря в DataFrame. Для этого достаточно использовать функцию pandas.DataFrame.from_dict()
. В качестве аргументов эта функция принимает исходный словарь и указание на то, что словарь следует интерпретировать как словарь списков, где списки представляют собой строки DataFrame.
Пример преобразования словаря в DataFrame:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | import pandas as pd # исходный словарь dict_data = { '2022-01-01' : 100 , '2022-01-02' : 200 , '2022-01-03' : 300 , '2022-01-04' : 400 , '2022-01-05' : 500 } # преобразование словаря в DataFrame df = pd.DataFrame( list (dict_data.items()), columns = [ 'Date' , 'Value' ]) # вывод DataFrame print (df) |
Результат выполнения данного кода будет выглядеть следующим образом:
1 2 3 4 5 6 | Date Value 0 2022 - 01 - 01 100 1 2022 - 01 - 02 200 2 2022 - 01 - 03 300 3 2022 - 01 - 04 400 4 2022 - 01 - 05 500 |
Таким образом, преобразование словаря в DataFrame с помощью библиотеки pandas может быть выполнено достаточно простым и эффективным способом.
Добавить комментарий