0
作为代码的一部分,我需要将一个数据框分配给在此过程中创建的动态变量。如何将数据框分配给动态变量为python?
我做了如下分配价值研究:
I = 1
x = 'varName'+str(I)
exec("%s = %d" % (x,2))
varName1
但如何做到这一点的数据帧?
感谢
作为代码的一部分,我需要将一个数据框分配给在此过程中创建的动态变量。如何将数据框分配给动态变量为python?
我做了如下分配价值研究:
I = 1
x = 'varName'+str(I)
exec("%s = %d" % (x,2))
varName1
但如何做到这一点的数据帧?
感谢
“动态变量” 是一个反模式。你想要的是无论是dict
:
vars = {}
key = "something_%s" % another_string
vars[key] = something()
或(更可能是因为你似乎可以用一些数字指标):
vars = []
for whatever in (some_sequence):
val = something(whatever)
vars.append(val)
这FWIW可以更简单地改写为:
vars = [something(whatever) for whatever in some_sequence]
python 2.7? 3.X?你应该看看dict的,我不是一个对evals和execs的忠实粉丝,它让代码难以理解,我相信这不是一个好习惯。字典可能正是你想要的,它本质上是一个哈希表,它允许你为键值赋值{key:value},或者在你的情况下为一个DataFrame赋一个名称的字符串。你可以添加一点点更多的解释,你正试图用一个不太概念和更实用的代码示例来解决问题本身。 – nico