python - 如何保持从 Pandas DataFrame 到字典的行顺序

标签 python django pandas python-2.7 dataframe

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

我使用字典,其中有一些键和值,我需要 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")

这是 datraframe 数据,我试图将其转换为行有序字典,以便稍后在 json 中序列化它

            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

我从 de data dataframe 接收到的 json 对象具有以下结构:

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

}

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

最佳答案

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

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
            }
        }

关于python - 如何保持从 Pandas DataFrame 到字典的行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57844525/

相关文章:

python - 验证码识别最佳实践

python - search_field 按字段选择

Django 模板 for 循环并显示前 X 个匹配项

python - DataFrame 列名称内的换行符

python - Docker Scrapy spider 保存数据到 Postgres 端口报错

javascript 相当于 python 的编译和执行

python - Pandas 匹配数据库与数据库的字符串保持索引

python - Pandas:根据复杂逻辑删除具有特定字符串的行和列

python - 在 Python OpenCV 中查找 connectedComponents 的颜色

python - Django 关于删除的多对多关系