You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将字典的键转为DataFrame列、值转为行?

问题解决:将字典转为列名对应、单行数据的DataFrame

你当前代码里用pd.DataFrame.from_dict(entries, orient='index')会把字典的键作为行索引,值作为单列数据,这和你想要的“键为列名、值为行数据”不符。

正确实现方式

因为entries是一个单层字典(比如{'postcode': 'ST87HL', 'latitude': 53.0..., 'longitude': -2.1...}),要生成符合预期的DataFrame,只需要把这个字典放到列表中传入pd.DataFrame即可:

import requests
import pandas as pd

url = 'https://api.getthedata.com/postcode/ST87HL'
req = requests.get(url)
data = req.json()
entries = data['data']

# 把字典包装成列表,生成以键为列名、值为单行数据的DataFrame
df = pd.DataFrame([entries])

print(df)

原理说明

  • pd.DataFrame()接受由字典组成的列表作为输入,每个字典对应DataFrame的一行,字典的键会自动成为列名。
  • 如果你坚持用from_dict方法,也可以省略orient参数(默认是'columns'),但同样需要把字典转为列表形式:df = pd.DataFrame.from_dict([entries]),效果和上面一致。

内容的提问来源于stack exchange,提问作者RandomPezzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 23:10:46