У меня есть словарь Python, который выглядит следующим образом:
d = {'comp_1': {'property_4': 24, 'property_2': 45, 'property_3': 124, 'missing': 39, 'property_1': 16},
'comp_2': {'property_4': 23, 'property_2': 49, 'property_3': 126, 'property_1': 16, 'missing': 38},
'comp_3': {'property_4': 24, 'property_2': 43, 'property_1': 19, 'missing': 30, 'property_3': 116}}
Когда я загружаю его в файл данных panda и пытаюсь его распечатать, он выглядит следующим образом:
df = pd.DataFrame.from_dict(hits, orient='index')
print(df)
Вывод:
missing property_1 property_2 property_3 property_4
comp_1 39 16 45 124 24
comp_2 38 16 49 126 23
comp_3 30 19 43 116 24
Теперь я хочу переименовать столбцы, поэтому я пытаюсь:
df = pd.DataFrame.from_dict(hits, orient='index' columns=reversed(['Missing', 'P1', 'P2', 'P3', 'P4']))
, что приводит к пустому фрейму данных (что я предполагаю, потому что эти ключи не существуют в словаре?):
Empty DataFrame
Columns: []
Index: []
Если я попробую это вместо:
df = pd.DataFrame.from_dict(hits, orient='index')
columns = reversed(['Missing', 'P1', 'P2', 'P3', 'P4'])
df.columns=columns
столбцы переименовываются по порядку, не сохраняется, поэтому каждый раз, когда я запускаю код, число не соответствует столбцу,Например:
P4 P3 P2 P1 Missing
comp_1 16 24 124 45 39
comp_2 16 23 126 49 38
comp_3 19 24 116 43 30
и:
P4 P3 P2 P1 Missing
comp_1 24 16 39 124 45
comp_2 23 16 38 126 49
comp_3 24 19 30 116 43
Я предполагаю, что мне нужно каким-то образом предоставлять ключи из вложенного словаря при загрузке данных в фрейм данных, но я не уверен, каксделать это.Или это что-то еще, что мне нужно сделать?
Редактировать: Я также попытался переименовать столбцы со словарем следующим образом:
df.rename({'missing': 'Missing', 'property_1': 'P1', 'property_2': 'P2', 'property_3': 'P3',
'property_4': 'P4'})
, но все еще старые имена отображаются