我试图在python中创建循环。该代码可以在下面看到。
df=pd.DataFrame.copy(mef_list)
form=['','_M3','_M6','_M9','_M12','_LN','_C']
for i in range(0, len(form)):
df=pd.DataFrame.copy(mef_list)
df['Variable_new']=df['Variable']+str(form[i])
运行代码时,结果仅来自最后一个循环,即variable+'_C'
,因为新循环开始时总是替换数据帧(df)。为了避免出现此问题,我认为如果将数据帧(df)重命名为加上循环数,就可以解决该问题。
我使用了str函数,希望获得df0
,df1
,...,df6
,但它不适用于数据框名称。请建议我如何通过添加循环数来更改数据帧的名称,并且我仍然会以任何其他方式打开。
谢谢!
答案 0 :(得分:0)
mef_list = ["UR", "CPI", "CEI", "Farm", "PCI", "durable", "C_CVM"]
form = ['', '_M3', '_M6', '_M9', '_M12', '_LN', '_C']
Variable_new = []
foo = 0
for variable in form:
Variable_new.append(mef_list[foo]+variable)
foo += 1
print(Variable_new)
答案 1 :(得分:0)
这不是Python要做的事情,您是否考虑过创建数据框列表?
df=pd.DataFrame.copy(mef_list)
form=['','_M3','_M6','_M9','_M12','_LN','_C']
list_of_df = list()
for i in range(0, len(form)):
df=pd.DataFrame.copy(mef_list)
df['Variable_new']=df['Variable']+str(form[i])
list_of_df.append(df)
然后,您可以以df0
的身份访问“ list_of_df[0]
”
您也不需要遍历一个范围,只需遍历表单列表本身即可:
form=['','_M3','_M6','_M9','_M12','_LN','_C']
list_of_df = list()
for i in form:
df=pd.DataFrame.copy(mef_list)
df['Variable_new']=df['Variable']+str(i) ## You can remove str() if everything in form is already a string
list_of_df.append(df)