2016-08-06 2 views
1

У меня есть следующий dataframe:df.to_dict() только один ряд оригинальных dataframe (DF)

Примечание: дата является индекс

city morning afternoon evening midnight 
date      
2014-05-01 YVR 2.32 4.26 -4.87 6.58 
2014-05-01 YYZ 24.78 2.90 -50.55 6.64 
2014-05-01 DFW 24.78 2.90 -50.55 6.64 
2014-05-01 PDX 2.40 4.06 -4.06 6.54 
2014-05-01 SFO 30.35 9.96 64.24 6.66 

Я пытаюсь сохранить этот ДФ в Словаре по df.to_dict(), но я получаю только одну строку:

df.to_dict(): 

{'city': {Timestamp('2014-05-01 00:00:00'): 'SFO'}, 
'morning': {Timestamp('2014-05-01 00:00:00'): 9.9600000000000009}, 
'afternoon': {Timestamp('2014-05-01 00:00:00'): 6.6600000000000001}, 
'evening': {Timestamp('2014-05-01 00:00:00'): 30.350000000000001}, 
'midnight': {Timestamp('2014-05-01 00:00:00'): 64.239999999999995}} 

не следует весь dataframe будет выводиться в Словаре?

ответ

3

Результат, который вы получаете, использует индекс как ключ в словаре. У вас есть повторный индекс, а словарные ключи должны быть уникальными, поэтому он не будет работать.

Вам нужно будет выбрать другой формат вывода. Я нашел records полезным, как в

In [65]: df.reset_index().to_dict("records") 
Out[65]: 
[{'afternoon': 4.26, 
    'city': 'YVR', 
    'date': '2014-05-01', 
    'evening': -4.87, 
    'midnight': 6.58, 
    'morning': '2.32'}, 
{'afternoon': 2.9, 
    'city': 'YYZ', 
    'date': '2014-05-01', 
    'evening': -50.55, 
    'midnight': 6.64, 
    'morning': '24.78'}, 
{'afternoon': 2.9, 
    'city': 'DFW', 
    'date': '2014-05-01', 
    'evening': -50.55, 
    'midnight': 6.64, 
    'morning': '24.78'}, 
{'afternoon': 4.06, 
    'city': 'PDX', 
    'date': '2014-05-01', 
    'evening': -4.06, 
    'midnight': 6.54, 
    'morning': '2.40'}, 
{'afternoon': 9.96, 
    'city': 'SFO', 
    'date': '2014-05-01', 
    'evening': 64.24, 
    'midnight': 6.66, 
    'morning': '30.35'}] 
Смежные вопросы