#python #pandas #dataframe
#python #pandas #dataframe
Вопрос:
Итак, недавно я столкнулся с возвратом из вызова API, где формат возврата представляет собой список словарей, но форматирование приводит к неправильному отображению pd.DataFrame() . Я получаю возвращаемый формат:
{'name': 'a1', 'value': 'b1'}
{'name': 'a2', 'value': 'b2'}
{'name': 'a3', 'value': 'b3'}
{'name': 'a4', 'value': 'b4'}
{'name': 'a5', 'value': 'b5'}
Когда я запускаю pd.DataFrames, это превращается в:
name value
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
Я пытался использовать df.pivot(column=’name’, values=’value’), но это приводит к 5 x 5 df вместо 1 строки.
В идеале я хотел бы получить его там, где имена столбцов = dictionary[name] и значение строки =dictionary[value]:
index a1 a2 a3 a4 a5
0 b1 b2 b3 b4 b5
Любая помощь и предложения приветствуются, спасибо!
Ответ №1:
Установите индекс в столбец «имя», а затем транспонируйте фрейм данных (для переключения строк и столбцов)
df = pd.DataFrame(api_result)
df = df.set_index("name").T
Вы также можете сделать это непосредственно при создании фрейма данных, используя from_records
метод:
df = pd.DataFrame.from_records(api_result, index="name").T