Python更新字典值以引用具有相同名称的数据帧

时间:2016-10-18 03:20:05

标签: python pandas dictionary dataframe nested

我有很多数据框,其名称包括' ABC',' XYZ' ...

我还有一个带键的字典,其中每个键都有一个200个值的列表,这些值是数据帧的名称,即[' ABC',' XYZ',... ]

我想更新这个字典,所以它不是包含数据帧的名称,而是包含数据帧本身作为嵌套字典。

这将使我能够遍历主词典词典的特定键,并按名称访问其200个数据帧中的每一个

即。字典[key1] [ABC]将打印出ABC数据帧。

有什么想法吗? :)

2 个答案:

答案 0 :(得分:2)

很简单,使用eval

u, v, w, x, y, z = 1, 2, 3, 4, 5, 6
frames = {}
names = {'a' : ['u', 'v'],
         'b' : ['w', 'x'],
         'c' : ['y', 'z']}
for key in names:
    frames[key] = dict(zip(names[key], [eval(name) for name in names[key]]))
frames
# Output:
{'a': [1, 2], 'b': [3, 4], 'c': [5, 6]}

答案 1 :(得分:1)

这本词典目前有哪些关键? /您的数据帧目前存储在哪里?你可能想要这样的东西:

dfDict ={dfName: <df>} #assuming a bit here
newDict = {}
for key, value in oldDict.items():
    newDict[key] = { dfName:dfDict[dfName] for dfName in value }