Проблема в следующем:
dict = {0:['A', 'B','C'], 1:'D'}
Я хочу перевести в фрейм данных:
|index|values|
--------------
| 0 | A |
--------------
| 0 | B |
--------------
| 0 | C |
--------------
| 1 | D |
--------------
Поэтому я хотел преобразовать словарь в список кортежей:
dict = [(0,'A'), (0,'B'), (0,'C'), (1,'D')]
Затем я могу создать нужный мне фрейм данных:
pd.Dataframe(dict)
Для преобразования словаря я использовал:
создать функцию сглаживания для списка
flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x]
использовать понимание списка для структурирования списка кортежей
pd.DataFrame(flatten([[(i,jj) for jj in j] for (i, j) in dict.items()]))
Есть ли лучший и более эффективный способ решения этой проблемы?