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

如何从Pandas DataFrame中提取字典内的数值?

解决方案

当然可行,以下是几种简单的实现方式:

方法1:直接处理已生成的DataFrame

针对已经创建好的df,可以用apply方法提取字典里的ALU对应值,直接替换原列:

df[1] = df[1].apply(lambda x: x['ALU'])

要是怕遇到缺失ALU键的情况,还可以加个容错,避免报错:

df[1] = df[1].apply(lambda x: x.get('ALU', None))

方法2:创建DataFrame前预处理数据

更高效的方式是在生成DataFrame之前就把数据处理好,省得后续再改列:

# 替换原来的rates_dic和df创建代码
rates_dic = [(date, value['ALU']) for date, value in rates.items()]
df = pd.DataFrame(rates_dic, columns=['日期', 'ALU价格'])  # 还能顺便给列起个直观的名字

方法3:用json_normalize展开字典

如果之后字典结构可能变复杂(比如多几个键),可以用pd.json_normalize来展开:

import pandas as pd
# 展开第1列的字典数据
df_alu = pd.json_normalize(df[1])
# 把展开后的数值替换原列
df[1] = df_alu['ALU']

处理完成后,你的DataFrame第1列就会直接显示对应数值,比如第0行就是12.079170589589772。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:30:59