2016-08-06 5 views
1

を取得し、日付がインデックスdf.to_dict()のみ、私は、次のデータフレームを持っている本来のデータフレームの1行(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

出力は、インデックスを辞書のキーとして使用しています。繰り返しインデックスがあり、辞書キーは一意でなければならないので、うまくいきません。

別の出力形式を選択する必要があります。

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'}] 
のように、 recordsが役に立ちます。
関連する問題