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 循环之外形成我只是这样做是为了给它们分配我想要的数据
谢谢
答案 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))