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

如何以变量命名DataFrame?基于多索引df_yearly的分表需求

解决动态命名DataFrame并保存到Excel的问题

首先,你之前的写法报错是因为Python不允许将值赋值给表达式(比如f-string、字符串拼接结果),赋值语句的左边必须是合法的变量名,不能是动态生成的字符串。

推荐方案:用字典存储多个ticker的DataFrame

这是最安全、易维护的方式,尤其适合处理多个ticker的场景:

# 定义要处理的ticker列表
tickers = ["META", "AAPL", "GOOG"]
# 创建空字典存储每个ticker对应的DataFrame
df_dict = {}

for ticker in tickers:
    # 将子集存入字典,键为ticker名,值为对应的DataFrame
    df_dict[ticker] = df_yearly.query('Ticker in @ticker')

之后调用某个ticker的DataFrame时,直接用df_dict["META"]即可。如果要保存到Excel的不同工作表,用pandas.ExcelWriter循环处理:

from pandas import ExcelWriter

with ExcelWriter("ticker_data.xlsx") as writer:
    for ticker, df in df_dict.items():
        df.to_excel(writer, sheet_name=ticker)

不推荐但可行:动态生成全局变量

如果你一定要生成df_META这种独立变量名,可以用globals()字典(但不建议,容易造成命名混乱,难以批量管理):

ticker = "META"
globals()[f"df_{ticker}"] = df_yearly.query('Ticker in @ticker')

执行后就会生成df_META这个变量,但处理多个ticker时,没法方便地批量操作这些变量,所以优先选择字典方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:44:55