У меня есть фрейм данных df
id price date zipcode
u734 8923944 2017-01-05 AERIU87
uh72 9084582 2017-07-28 BJDHEU3
u029 299433 2017-09-31 038ZJKE
Я хочу создать словарь со следующей структурой
{'id': xxx, 'data': {'price': xxx, 'date': xxx, 'zipcode': xxx}}
Что я сделал до сих пор
ids = df['id']
prices = df['price']
dates = df['date']
zips = df['zipcode']
d = {'id':idx, 'data':{'price':p, 'date':d, 'zipcode':z} for idx,p,d,z in zip(ids,prices,dates,zips)}
>>> SyntaxError: invalid syntax
но я получаю сообщение об ошибке выше.
Как правильно сделать это, используя
ИЛИ
бонусных баллов: Какова сложность алгоритма и существует ли более эффективный способ сделать это?