2016-10-08 2 views
0

Я пишу несколько строк в python, где я создал 3 кадра данных pandas DF_A, dF_B, dF_C. На следующем шаге я что-то делаю & читаю строку. Если строка = 'A', то я хочу перейти к dF_A (& и так далее для B & C). Любая помощь в том, как это можно сделать?Выбор фрейма данных pandas по строке имени, сгенерированной в коде

DF = pd.ExcelFile('File.xlsx') 
DF_A = Dev.parse("A") 
DF_B = Dev.parse("B") 
DF_C = Dev.parse("C") 

tmp = ['B', 'A', 'C', 'A', 'A', 'B'] 
foo = {} 

for i in range(len(tmp)): 
    table = 'DF_'+tmp[i] 
    foo[tmp[i]] = table[0] 

ответ

1

можно использовать vars(), хотя это Hacky

for i in tmp: # do not iterate by index 
    table = vars()['DF_' + i] 

Это уборщик просто хранить таблицы в словаре, в первую очередь

tables = {} 
for i in ['A', 'B', 'C']: 
    tables[i] = Dev.parse(i) 
for i in tmp: 
    table = tables['DF_' + i] 
+0

Большое спасибо @jackdaw. Создание dict работает отлично. – Jyoti

Смежные вопросы