2016-10-25 49 views
1

我需要爲以前定義的數據框提供名稱。在循環中創建數據幀的名稱

我有dataframes的列表:

liste_verif = (dffreesurfer,total,qcschizo) 

而且我想通過做這樣的事情,給他們一個名字:

for h in liste_verif: 
    h.name = str(h) 

請問可不可以?

當我測試此代碼時,它不起作用:不考慮h作爲數據框,python考慮我的數據框的每一列。 我想我的數據框的名稱是「dffreesurfer」,「總」等等......

+0

你應該考慮只存儲如果您想將字符串名稱映射到df,則可以在字典中使用dfs – EdChum

回答

0

您可以通過值列表L使用dict comprehension和地圖DataFrames:

dffreesurfer = pd.DataFrame({'col1': [7,8]}) 
total = pd.DataFrame({'col2': [1,5]}) 
qcschizo = pd.DataFrame({'col2': [8,9]}) 

liste_verif = (dffreesurfer,total,qcschizo) 
L = ['dffreesurfer','total','qcschizo'] 

dfs = {L[i]:x for i,x in enumerate(liste_verif)} 
print (dfs['dffreesurfer']) 
    col1 
0  7 
1  8 

print (dfs['total']) 
    col2 
0  1 
1  5