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

如何利用JSON数据填充DataFrame中的age字段?

问题:用JSON数据填充DataFrame的age字段最优方法

给定数据

JSON数据

people = {
   'jon' : { 'age' : 20 } ,
   'peter' : { 'age' : 30 } 
}

DataFrame(以姓名为索引)

cityage
jonfooNaN
peterfooNaN

尝试过的代码

for line in ['jon','peter']:
    df.at[line,'age'] = people[line]['age']

最优解决方案

推荐两种无需循环的高效方法,利用Pandas的索引对齐特性,比逐行赋值更简洁且性能更好:

方法一:构造Series直接赋值

通过字典推导从people中提取age信息,生成和DataFrame索引匹配的Series,直接赋值给age列:

import pandas as pd

df['age'] = pd.Series({name: details['age'] for name, details in people.items()})

方法二:使用map方法遍历索引

利用DataFrame的索引(姓名)直接映射people中的age值:

df['age'] = df.index.map(lambda name: people[name]['age'])

这两种方法都能自动匹配索引完成赋值,无需手动指定遍历对象,在数据量较大时性能优势明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 05:48:09