Dict of Dict от Pandas ДатаФрейм с датами - PullRequest
1 голос
/ 03 апреля 2020

У меня есть следующий pandas dataframe:

date       AAC      AFE     AFS     AKD    MAF   PRE                                    
2020-04-05  0       10000   0       0      0     75000
2020-04-06  0       30000   10000   0      0     0  
2020-04-10  47000   33000   20000   0      2000  8700
2020-04-11  0       0   0   0       25000  0     0  
2020-04-16  0       0   0   0       50000  0     0  
2020-04-21  0       30000   25000   0   0  1000  0  
2020-04-30  0       122000  65000   0   0  1000  0  

Я пытаюсь создать dict of dict, чтобы результирующий словарь напоминал следующий формат

{'2020-04-05': {'AAC': 0, 'AFE': 10000, 'AFS': 0, etc}
 '2020-04-06': {AAC: 0, 'AFE': 30000, 'AFS': 10000, etc}} 

Мой текущий решение:

d = {date: {col: df[col].values for col in df.columns} for date in demand_df.index}

дает неправильные результаты (по столбцам / ось 1), поскольку я не получаю правильное значение по продукту за дату

Любая помощь очень ценится!

1 Ответ

2 голосов
/ 03 апреля 2020

вы можете использовать to_dict с orient = index после set_index столбец «дата»:

print (df.set_index('date').to_dict(orient='index'))
{'2020-04-05': {'AAC': 0, 'AFE': 10000, 'AFS': 0, 'AKD': 0, 'MAF': 0, 'PRE': 75000}, 
 '2020-04-06': {'AAC': 0, 'AFE': 30000, 'AFS': 10000, 'AKD': 0, 'MAF': 0, 'PRE': 0}, 
 '2020-04-10': {'AAC': 47000, 'AFE': 33000, 'AFS': 20000, 'AKD': 0, 'MAF': 2000, 'PRE': 8700}, ...}
...