如何将Pandas DataFrame转换为自定义结构的嵌套字典
Pandas DataFrame转指定嵌套字典实现方案
该转换需求完全可以实现,无需手写循环遍历,用Pandas内置方法即可一步完成。
- 核心思路:先将
pair列设置为DataFrame的行索引,再调用内置的to_dict方法,传入orient='index'参数,即可自动生成外层键为pair列取值、内层为其余列键值对的嵌套字典。 - 完整实现代码:
import pandas as pd # 构造和示例结构一致的测试DataFrame df = pd.DataFrame({ 'pair': ['158_151'], 'number': ['0000002732'], 'amount': [104] }) # 执行转换 result = df.set_index('pair').to_dict(orient='index')
- 转换后输出和预期格式完全一致:
{'158_151': {'number': '0000002732', 'amount': 104}}
注意:如果需要保留number字段的前导零,必须确保该列在DataFrame中为字符串类型;若数据读取时被自动解析为整数类型,前导零会被自动丢弃,可提前通过df['number'] = df['number'].astype(str).str.zfill(10)这类方法补全前导零后再做转换。
内容的提问来源于stack exchange,提问作者CodeoDE
相关产品推荐
相关产品推荐

