我有一个已按日期排序的 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/