在循环中创建数据帧的名称

时间:2016-10-25 09:16:05

标签: python dataframe

我需要为以前定义的数据帧命名。

我有一个数据框列表:

liste_verif = ( dffreesurfer,total,qcschizo)

我想通过做类似的事情给他们一个名字:

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

这可能吗?

当我测试此代码时,它不起作用:python不考虑h作为数据帧,而是考虑我的数据帧的每一列。 我希望我的数据框的名称是' dffreesurfer',' total'等...

1 个答案:

答案 0 :(得分:0)

您可以使用dict comprehension并按列表L中的值映射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