我正在尝试使用字典键创建和命名几个数据帧作为新数据帧的名称。
somedict = {'Apples': 50, 'Pears': 85, 'Cherries': 90}
for i in range(0,3):
somedict[i] = pd.DataFrame()
我希望这会创建三个名为Apples,Pears,Cherries的新数据框。不幸的是,这只是替换了某些空数据帧的前三个条目。
没有循环,这将是这样的:
Apples = pd.DataFrame()
Pears = pd.DataFrame()
Cherries = pd.DataFrame()
但是,我想以编程方式执行此操作,而不必查看字典并键入键作为新数据帧的名称。
如果有人知道如何动态执行此操作,我们将不胜感激。
谢谢!
答案 0 :(得分:0)
我认识到这种动态表创建方法是不可取的。但是,如果将来有人遇到此问题,这里是创建单个表的代码。可能有更有效的方法来做到这一点,但我发现这产生了预期的结果。
import pandas as pd
somedict = {'Apples': 50, 'Pears': 85, 'Cherries': 90}
somelist = list()
for k,v in somedict.iteritems():
somelist.append(k)
for i in range(0,3):
exec '%s=%s'%(str(somelist[i]), 'pd.DataFrame()')