如何从索引式字典创建符合预期格式的Pandas DataFrame?
解决方法
你的代码会将字典的外层键(0、1)识别为DataFrame的列名,导致结果结构不符合预期。可以通过以下两种方式实现你想要的表格格式:
方法一:使用pd.DataFrame.from_dict()指定索引方向
import pandas as pd details = { 0:{'name':'Ankit','age':'23','college':'bhu'}, 1:{'name':'Aishwarya','age':'24','college':'jnu'} } # orient='index'表示将外层字典的键作为行索引,子字典的键作为列名 df = pd.DataFrame.from_dict(details, orient='index') # 可选:重置行索引为默认序列(若不需要保留原0、1索引) df = df.reset_index(drop=True) print(df)
方法二:提取字典值转为列表后创建DataFrame
直接将外层字典的所有值(即每个子字典)转为列表,Pandas会自动将每个子字典解析为一行数据:
import pandas as pd details = { 0:{'name':'Ankit','age':'23','college':'bhu'}, 1:{'name':'Aishwarya','age':'24','college':'jnu'} } df = pd.DataFrame(list(details.values())) print(df)
执行上述任意一种方法后,都会得到你期望的表格:
| name | age | college |
|---|---|---|
| Ankit | 23 | bhu |
| Aishwarya | 24 | jnu |
内容的提问来源于stack exchange,提问作者zircon
相关产品推荐
相关产品推荐

