3

我有一个已经按日期排序的 pandas DataFrame,但我需要将此 DataFrame 序列化为保持行顺序的 dict python 结构,以便稍后返回 JSON。

我使用 dict 我有一些键和值,我需要 DataFrame 是一个值。我使用了 pd.to_dict() 但这并不能保持行顺序。

我尝试使用 OrderedDict,但无法使用 json.dumps() 对其进行序列化。我正在使用python 2.7。

dic_data = {
            'data':data.to_dict(),
            'variable':variables[variable],
            'unit':units[variable],
            'limits':{
                'limite_superior':lim_sup,
                'limite_inferior':lim_inf
            }
        }

return HttpResponse(json.dumps(dic_data),content_type="application/json")

这是我试图转换成行排序的 dict 以便稍后在 json 中序列化它的 datraframe 数据

            date_time values
202   2018-09-01 10:00    0,9
203   2018-09-01 11:00    0,1
204   2018-09-01 12:00    0,0
205   2018-09-01 13:00    0,0
206   2018-09-01 14:00    0,0
207   2018-09-01 15:00    0,0
208   2018-09-01 16:00    0,0
209   2018-09-01 17:00    0,0

我从数据数据帧接收的 json 对象具有以下结构:

{
    date_time:{
                0:"2018-09-01 20:00",
                1:"2018-09-01 21:00",
                ....
              },
    values:{
            0:20.54,
            1:30.45,
            .....
           }

}

实际上我需要相同的结构,但行排序。

4

1 回答 1

0

您可以尝试使用方法的into参数to_dict

from collections import OrderedDict

dic_data = {
            'data':data.to_dict(into=OrderedDict),
            'variable':variables[variable],
            'unit':units[variable],
            'limits':{
                'limite_superior':lim_sup,
                'limite_inferior':lim_inf
            }
        }
于 2019-09-08T18:11:37.497 回答