如何使用 for 循环创建具有不同名称的多个数据框

时间:2021-03-23 20:10:38

标签: python pandas dataframe for-loop

for key in CatDict:
    CatName = CatDict[key]['name']
    print('This is the ' + CatName + 'info')
    **Problem Area (CatName + 'DF')** = CalcDF[CalcDF.Cat == CatDict[key]['number']]

基本上我想要做的是创建一个新的数据框,通过将“CatName”与字符串“DF”连接起来命名为该循环的每次迭代。

我在这方面遇到了很多麻烦,我不确定我正在尝试做的事情是否可行。

数据帧已经在 for 循环之外形成我只是这样做是为了给它们分配我想要的数据

谢谢

2 个答案:

答案 0 :(得分:1)

您正在尝试创建变量变量名称。不建议这样做。相反,您可以创建一个 dictionary 的数据帧,并将其变量名称作为键:

dataframes = {key[‘name’] + 'DF': CalcDF[CalcDF.Cat == CatDict[key]['number']] for key in CatDict}

答案 1 :(得分:0)

您可以将内置函数 exec 用作:

for key in CatDict:
CatName = CatDict[key]['name']
print('This is the ' + CatName + 'info')
exec('{}DF = CalcDF[CalcDF.Cat == CatDict[key]['number']]'.format(CatName)) 
相关问题