首页 > 解决方案 > 创建一个循环来命名新的数据框

问题描述

我将现有数据框拆分为大小为 100 的较小数据框。在下一步中,我想命名所有这些数据框,以便所有数据框都有特定的名称:

这应该如下所示: df1 应该有前 100 个条目,然后是 df2 和 101-201 等等,我该怎么做?

我想到了类似的东西:

for i in range(0,len(df_total)):
   paste("df",i,sep="") = df_total[i]

不幸的是,我总是收到以下错误消息:无法分配给函数调用

谢谢您的帮助!

标签: pythonpython-3.xlistpython-2.7

解决方案


那么,df_total数据框列表对吗?只需使用 迭代它enumerate,然后使用 分配全局变量globals

for idx,df in enumerate(df_total, 1):
    globals()[f'df{idx}'] = df

请注意,不推荐这样创建变量,如果您需要按名称引用,您可以随时使用字典:

dfs = {}
for idx,df in enumerate(df_total, 1):
    dfs[f'df{idx}'] = df

您可以稍后访问字典中的数据框,例如dfs['df1'], dfs['df2'], ...


推荐阅读