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

Python中如何访问名称包含冒号的DataFrame变量?

解决带特殊字符的DataFrame变量访问问题

问题原因

Python的标识符(变量名)不允许包含冒号:这类特殊字符,所以你通过globals()[f'data{i}']生成的data5091016:2这类变量,无法直接用变量名访问,必须通过其他方式获取。

方案1:改用字典存储(推荐)

不要把每个DataFrame存为单独的全局变量,而是用一个字典统一管理,无论prim_key包含什么特殊字符,都能正常通过键访问:

primkeys = list(data.prim_key.unique())
grouped = data.groupby(['prim_key'])

# 创建字典存储所有分组后的DataFrame
dfs = {}
for i in primkeys:
    dfs[i] = grouped.get_group(i)

# 访问示例:用prim_key作为键直接取值
target_df = dfs['5091016:2']

这种方式更规范,还能避免全局变量污染,后续遍历或管理所有分组DataFrame也更方便。

方案2:通过globals()字典直接获取

如果已经生成了这些全局变量,也可以直接通过globals()字典访问,把变量名以字符串形式传入即可:

# 直接从globals字典中取出目标变量
target_df = globals()['data5091016:2']

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:34:58