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

Python遍历DataFrame字典按键名拆分独立DataFrame的实现方法

问题背景

现有一个存储了多个DataFrame对象的字典,结构参考下图:
存储多个DataFrame的字典结构
需求为拆分字典内各DataFrame的Value列,生成对应的独立DataFrame,且每个独立DataFrame的变量名与字典对应的键名一致。
原有实现代码运行失败:

for value, key in zip(daten_para_dic.values(), daten_para_dic.keys()):
   '{}'.format(key) = value

运行报错:cannot assign to function call(无法向函数调用结果赋值)。

错误原因

'{}'.format(key)是字符串格式化函数的返回值,属于临时生成的字面量结果,Python语法不允许直接给这类函数调用返回的临时值赋值。

实现方案

方案1:动态生成同名独立变量(非必要不推荐)

如果确实需要生成和字典键名完全一致的独立变量,可以通过修改命名空间字典实现,遍历过程中同步提取Value列:

# 全局作用域下生成变量用globals(),函数内部局部作用域可替换为locals()
for key, raw_df in daten_para_dic.items():
    globals()[key] = raw_df[['Value']].copy()

注意:如果字典的键不符合Python变量命名规则(比如数字开头、含空格/特殊符号),该方法生成的变量无法直接通过变量名调用,会提升后续维护成本。

方案2:直接在原字典内处理(推荐)

绝大多数场景不需要拆分为独立变量,直接在原字典中完成列拆分即可,通过键名访问和独立变量使用体验一致,还不会污染全局命名空间:

for key in daten_para_dic:
    # 仅保留Value列,替换原字典中对应的DataFrame
    daten_para_dic[key] = daten_para_dic[key][['Value']].copy()

# 访问示例:如果键为"pressure",直接用daten_para_dic["pressure"]即可调用对应拆分后的DataFrame

内容的提问来源于stack exchange,提问作者R.Muhrez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:48:10