Python 使用循环编号中的名称创建新数据帧

Python 使用循环编号中的名称创建新数据帧,python,pandas,loops,Python,Pandas,Loops,我试图用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+'''u

我试图用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+'''uc'
我认为这是因为在新循环开始时数据帧(df)总是被替换。为了避免这个问题,我认为如果数据帧(df)可以通过加上循环数来重命名,那么问题就会得到解决

我使用了str函数,希望得到
df0
df1
,…,
df6
,但它不适用于数据帧名称。请建议我如何通过添加循环数来更改数据帧的名称,并且我仍然以任何其他方式打开


谢谢

这不是python式的事情,您是否想过创建一个数据帧列表

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)
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
”作为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)

请不要以图片的形式发布代码。@Nouman谢谢,我需要修改数据帧,因为即使是名称也必须保留一些信息changed@SasiwutChaiyadecha我已经修改了代码,希望对你有所帮助。