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

如何从存储dataframe的数组中提取变量名并转为字符串格式?

Python 列表存储的是 DataFrame 对象的内存引用,本身不会保留你初始化列表时所用的变量名,所以要实现需求有两类方案,根据你的使用场景选择即可:

方案1:提前构造名称列表(最稳妥,推荐)

如果你在定义列表 a 时就明确知道各个元素对应的变量名,直接同步构造 b 即可,不需要额外的逻辑计算,性能最高且不会出错:

a = [df1, df2, df3]
b = ['df1', 'df2', 'df3']

方案2:动态反查变量名(适合无法提前得知变量名的场景)

如果列表 a 是动态生成的,无法提前知道变量名,可以通过遍历当前作用域的变量表匹配对象得到对应名称:

代码示例

def get_obj_var_name(obj):
    # 全局作用域查找,函数内部变量查找把 globals() 换成 locals() 即可
    for var_name, value in globals().items():
        if value is obj:
            return var_name
    return ""

a = [df1, df2, df3]
b = [get_obj_var_name(df) for df in a]

注意事项

  • 如果同一个 DataFrame 对象被多个变量指向,这个方法会返回第一个匹配到的变量名,可能和你预期的不一致
  • 不要在循环批量生成 DataFrame 的场景下使用该方案,会出现匹配混乱的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 17:24:01