2013-06-21 2 views
1

Как импортировать словарь в DataFrame и присвоить первый столбец в качестве даты и присвоить заголовок:Как импортировать словарь в DataFrame?

db = {u'data': [[u'18/06/2013', u'34.8400', u'34.8400'], 
    [u'17/06/2013', u'34.4900', u'34.4900']], 
    u'fund': u'TGC'}, 
{u'data': [[u'18/06/2013', u'14.9179', u'14.9179'], 
[u'17/06/2013', u'14.8712', u'14.8712']], 
u'fund': u'FEF'}, 
{u'data': [[u'18/06/2013', u'6.6780', u'6.6780'], 
[u'17/06/2013', u'6.6510', u'6.6570']], 
u'fund': u'FAF'}] 

в следующем DataFrame:

    TGC    FEF   FAF 
    date  bid  ask  bid  ask  bid ask 
18/06/2013 34.8400 34.8400 14.9179 14.9179 6.6780 6.6780 
17/06/2013 34.4900 34.4900 14.8712 14.8712 6.6510 6.6570 

ответ

3
import json 
import pandas as pd 

db = json.loads(open('pruItems.json', 'r').read()) 
pieces = [] 
for d in db: 
    if d['data']: 
     df = pd.DataFrame(d['data']) 
     df.columns = ['date', 'bid', 'ask'] 
     df = df.set_index('date') 
     pieces.append(df) 

df = pd.concat(pieces, axis=1, keys=[d['fund'] for d in db]) 

print df 

выходы:

   TGC    FEF    FAF   
       bid  ask  bid  ask  bid  ask 
date               
18/06/2013 34.8400 34.8400 14.9179 14.9179 6.6780 6.6780 
17/06/2013 34.4900 34.4900 14.8712 14.8712 6.6510 6.6570 
+0

Кодекса когда применяется к json-файлу. В приложении вы найдете ссылку на фактический файл json: https://docs.google.com/file/d/0B1UY10-kbb4YLTFwTU1oWXYxbFU/edit?usp=sharing –

+0

Это поможет, если в вашем вопросе указано, что данные были json-файлом. Как написано, это была структура данных python. – mattexx

+0

У вас была запись в этом файле без каких-либо данных, что вызывало ошибку. Я обновил ответ, чтобы обработать его. – mattexx