所以我最近遇到了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]和行value = dictionary [value]的地方获取它:
index a1 a2 a3 a4 a5
0 b1 b2 b3 b4 b5
非常感谢您的帮助和建议,谢谢!
答案 0 :(得分:2)
将索引设置为“名称”列,然后转置数据框(以切换行和列)
df = pd.DataFrame(api_result)
df = df.set_index("name").T
您也可以在创建数据框时直接使用from_records
方法执行此操作:
df = pd.DataFrame.from_records(api_result, index="name").T