Pandas - конвертировать Excel Dataframe в определенный формат словаря - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь преобразовать файл Excel в словарь.Я понимаю, что могу просто превратить его в DataFrame и запустить ".to_dict ()" с пандами.Однако мне это нужно в определенном формате.Вот как файл Excel форматируется ниже


trade   curve   1m    2m     3m    4m

90210   mega    555   222    111   9991

606066  sdsdsd  4545  63232  3232  62626926

Мне нужен словарь, чтобы выглядеть примерно так:

{ trade : curve : [1m,2m,3m,4m ] }

По сути, я хочу, чтобы каждыйсделка имеет значение кривой (может быть та же самая сделка, но другая кривая), и эта кривая имеет массив в качестве значения.Я понимаю, что мне нужно просмотреть начальный "to_dict", однако я не уверен, как

1 Ответ

0 голосов
/ 02 декабря 2018

Вы можете создать словарь, выполнив итерации кадра данных, как показано ниже:

import pandas as pd

dataframe=pd.read_excel("data.xlsx",header=None)
dictionary={}
for index,row in dataframe.iterrows():
    dictionary[row[0]]={row[1]:[]}
    dictionary[row[0]][row[1]].append(row[2])
    dictionary[row[0]][row[1]].append(row[3])
    dictionary[row[0]][row[1]].append(row[4])
    dictionary[row[0]][row[1]].append(row[5])

print (dictionary)

Приведенный выше код обеспечит следующий вывод:

{'trade': {'curve': ['1m', ' 2m', '3m', ' 4m']}, 90210: {'mega': [555, 222, 111, 9991]}, 606066: {'sdsdsd': [4545, 63232, 3232, 62626926]}}

Надеюсь, это то, что вам нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...