如何将给定结构的DF转换为符合指定输出要求的dict
Pandas DataFrame 转指定格式字典的实现方案
你可以直接使用Pandas内置的to_dict()方法实现需求,以下是具体操作方案:
- 构造示例DataFrame(你如果已有现成DF可直接跳过这一步)
import pandas as pd df = pd.DataFrame({ 'Colleges': ['JNTU', 'OU'], 'Location': ['Hyd,Andhra', 'Hyd,Andhra'], 'Streams': ['ECE,CSE,EE', 'ECE,CSE,EE'] })
- 按需选择转换方式:
- 如果你需要获取单独某一行的字典(比如你示例中JNTU对应的第一行),使用如下代码:
# iloc[0]对应取索引为0的第一行 target_dict = df.iloc[0].to_dict()
运行后得到的结果和你期望的格式完全一致:{'Colleges': 'JNTU', 'Location': 'Hyd,Andhra', 'Streams': 'ECE,CSE,EE'}
注:Python标准字典的字符串键默认会带引号,和你给出的无引号示例仅写法差异,逻辑完全等价
- 如果你需要把所有行转换为对应字典组成的列表,使用如下代码:
all_rows = df.to_dict('records')
运行后输出结果为:
[ {'Colleges': 'JNTU', 'Location': 'Hyd,Andhra', 'Streams': 'ECE,CSE,EE'}, {'Colleges': 'OU', 'Location': 'Hyd,Andhra', 'Streams': 'ECE,CSE,EE'} ]
你可以通过下标直接获取任意行的字典,比如all_rows[0]就是第一行的字典,all_rows[1]是第二行OU对应的字典。
内容的提问来源于stack exchange,提问作者Dr.teja
相关产品推荐
相关产品推荐

