循环动态地创建多个不同的 DataFrame

61 阅读1分钟

明白了!你是想动态地创建多个不同的 DataFrame,名字分别是 df_本期df_环1期df_同期,而不是将结果赋值给同一个 DataFrame 的不同列。

在 Python 中,直接创建不同变量名是不太推荐的做法,因为它会让代码变得难以维护和调试。但是你可以使用字典来动态生成并存储这些 DataFrame,而不需要显式地定义每一个变量。

例如:

df_dict = {}  # 用来存储多个 DataFrame

for i in ["本期", "环1期", "同期"]:
    df_dict[f"df_{i}"] = origin_data_1(date_dicts[i])

这样,df_dict 就会是一个字典,其中键是 df_本期df_环1期df_同期,而对应的值是生成的 DataFrame。你可以通过 df_dict["df_本期"] 来访问 df_本期,依此类推。

如果你真的希望创建不同的变量名,而不是存储在字典中,可以使用 globals()locals() 来动态创建变量。但这不太推荐,因为可能导致代码混乱和不可预测的错误。例如:

for i in ["本期", "环1期", "同期"]:
    globals()[f"df_{i}"] = origin_data_1(date_dicts[i])

但是,建议还是使用字典来组织这些 DataFrame,因为这样代码更简洁、可维护。如果你有更多需要,可以随时告诉我!