Создайте фрейм данных из словаря, содержащего список словарей и список списков, содержащий словари - PullRequest
0 голосов
/ 18 сентября 2018

Спасибо за чтение. Вытягивая мои волосы над этим. Я пытаюсь получить DF pandas из этого словаря, извлеченного из многоканального API Google Analytics.

{
'columnHeaders': [{'name': 'mcf:conversionDate',}, {'name': 'mcf:totalConversions', {'name': 'mcf:firstInteractionValue', }]
'rows': [[{'primitiveValue': '20180905'}, {'primitiveValue': '41'}, {'primitiveValue': '1672.05'}],[{'primitiveValue': '20180906'}, {'primitiveValue': '29'}, {'primitiveValue': '1924.01'}]]
}

Мне бы хотелось, чтобы это выглядело так.

mcf:conversionDate, mcf:totalConversions, mcf:firstInteractionValue
20180905            41                    1672.05
20180906            29                    1924.01

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

mydict = {'column': [], 'date': [], 'order': [], 'revenue': []}
columns = mcf['columnHeaders']
rows = mcf['rows']

for column in columns:
    mydict['column'].append(column['name'])

for row in rows:
    mydict['date'].append(row[0].get('primitiveValue', {}))
    mydict['order'].append(row[1].get('primitiveValue', {}))
    mydict['revenue'].append(row[2].get('primitiveValue', {}))

Может кто-нибудь помочь мне найти эффективное решение?

...