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

Python中如何用字符串变量而非硬编码给DataFrame动态命名

用字符串变量动态命名DataFrame的实现方法

原代码无法生效是因为pd.DataFrame.rename() 方法的设计用途是修改DataFrame的行索引、列标签,而非修改绑定DataFrame对象的变量名。以下是两种可行的实现方案:

方案1:修改全局/局部命名空间(支持直接按变量名调用)

可以直接操作Python的命名空间字典,将字符串作为键、DataFrame作为值写入,即可实现直接用字符串对应名称调用变量:

import pandas as pd
df_new_name = 'df_with_new_name'
# 路径前加r标识原始字符串,避免反斜杠转义报错
df_to_rename = pd.read_csv(r'C:\file.csv')
# 写入全局命名空间,后续可直接调用df_with_new_name
globals()[df_new_name] = df_to_rename
print(df_with_new_name)
  • 如果是在函数内部需要生成局部变量,可将globals()替换为locals(),修改仅在当前函数作用域生效。

方案2:用字典存储动态命名的DataFrame(更推荐)

直接修改命名空间容易出现变量意外覆盖、调试难度高的问题,如果有大量动态命名的DataFrame需求,更建议用字典统一管理:

import pandas as pd
df_pool = {}
df_new_name = 'df_with_new_name'
df_pool[df_new_name] = pd.read_csv(r'C:\file.csv')
# 调用时从字典取值即可
print(df_pool['df_with_new_name'])
  • 该方案不会污染全局命名空间,批量管理DataFrame时代码可读性、可维护性更高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 07:00:04