2016-08-06 24 views
1

我有以下数据框:df.to_dict()只得到原始数据帧(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,可以到字典通过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}} 

不应该在字典中输出整个数据帧吗?

回答

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'}] 
相关问题