Как полностью разделить вложенный словарь на столько столбцов, сколько уровней вложенности?

#python #python-3.x #dataframe #dictionary #nested

#python #python-3.x #фрейм данных #словарь #вложенный

Вопрос:

У меня есть вложенный dict (созданный мной) под названием dict3 со следующей структурой: A:[B1:[C1,C2,C3..],B2:[],B3:[C1],...] . Хотя моя проблема не связана с кодом, используемым для написания dict, пожалуйста, найдите его далее для вашего понимания:

 dict3 = {} # Create an empty dictionary for us to populate

for key in swreq2pcr: # Iter over each of the keys in dict1
    subdict = {} # This will be the nested dictionary
    for item in swreq2pcr[key]: # Iter over each item in the list at that location in the dict
        if item[:4]=="PSAP":          
            subdict[item] = pcr2tests[item] # Get the corresponding list from dict2 and store it in the nested dictionary       
        else:
            subdict[item]=[]
    dict3[key] = subdict # store the nested dictionary
 

Уродливый результат, полученный из приведенного выше кода, выглядит следующим образом:

введите описание изображения здесь

Чтобы улучшить внешний вид, я использую следующий код:

 pd.set_option("display.max_rows", None, "display.max_columns", None)   #Avoid to truncate the dataframe

df=pd.DataFrame.from_dict({(i):dict3[i] 
                           for i in dict3.keys()},orient='index').stack().to_frame()
 

а новый и необычный результат — это:

введите описание изображения здесь

где гораздо легче увидеть гнездование. Хотя я ожидал увидеть два столбца, и здесь мне нужна поддержка, по какой-то причине код определяет только один столбец с именем ‘0’, как показано на рисунке ниже:

введите описание изображения здесь

Следовательно, не могли бы вы помочь мне адаптировать выходные данные, чтобы получить что-то вроде изображения ниже?. Заранее большое вам спасибо.

введите описание изображения здесь