Я не могу выйти, чтобы указать формат вложенного dict в «третьем» столбце, но вот что я рекомендую использовать Python: Pandas dataframe из Series of dict в качестве отправной точки.Вот код и данные, которые можно воспроизвести:
nst_dict = {'archi': [{'fourth': '115', 'fifth': '-162', 'sixth': '112'},
{'fourth': '52', 'fifth': '42','sixth': ' 32'}]}
df = pd.DataFrame.from_dict({'First':[1,2], 'Second':[2,3],
'third': [nst_dict,nst_dict]})
Затем вам нужно сначала получить доступ к списку внутри дикта, затем к элементам списка:
df.thrd_1 = df.third.apply(lambda x: x['archi']) # convert to list
df.thrd_1a = df.thrd_1.apply(lambda x: x[0]) # access first item
df.thrd_1b = df.thrd_1.apply(lambda x: x[1]) # access second item
out = df.drop('third', axis=1).merge(
df.thrd_1a.apply(pd.Series).merge(df.thrd_1a.apply(pd.Series),
left_index=True, right_index=True),
left_index=True, right_index=True)
print(out)
First Second fourth_x fifth_x sixth_x fourth_y fifth_y sixth_y
0 1 2 115 -162 112 115 -162 112
1 2 3 115 -162 112 115 -162 112
Я попробуюочистить это с помощью collections.abc
и превратить в функцию, но это должно помочь вашему конкретному случаю.