首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何返回数据帧的json格式?

如何返回数据帧的json格式?
EN

Stack Overflow用户
提问于 2019-10-10 07:25:47
回答 1查看 178关注 0票数 1

我有一个dataframe df,并尝试将dataframe转换为json,如下所示:

代码语言:javascript
复制
from flask import Flask
import pandas as pd

app=Flask(__name__)

@app.route('/graph')
def plot():
    df=pd.DataFrame([['madrid', 10], ['venice', 20], ['las vegas', 40], ['brighton', 35]],
                      columns=['city', 'temp'])
    jsondata=df.to_json(orient='records')
    return jsondata

if __name__=='__main__':
    app.run()

o/p如下:

代码语言:javascript
复制
[{"city":"madrid","temp":10},{"city":"venice","temp":20},{"city":"las vegas","temp":40},{"city":"brighton","temp":35}]

如果我使用orient='split' o/p是:

代码语言:javascript
复制
{"columns":["city","temp"],"index":[0,1,2,3],"data":[["madrid",10],["venice",20],["las vegas",40],["brighton",35]]}

我正在寻找一个产出如下:

代码语言:javascript
复制
{
"trace1":[{"city":["madrid",....],"temp":[10,20,...]}]
}

我不知道citytemp可以像上面那样,但是尝试了trace1至少作为return {"trace1":jsondata},但是这给了我

代码语言:javascript
复制
{
    "trace1": "{\"columns\":[\"city\",\"temp\"],\"index\":[0,1,2,3],\"data\":[[\"madrid\",10],[\"venice\",20],[\"las vegas\",40],[\"brighton\",35]]}"
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 08:55:52

DataFrame.to_dictorient='list'一起用于字典,然后转换为json:

代码语言:javascript
复制
import json

jsondata= json.dumps({"trace1":[df.to_dict(orient='list')]})
print (jsondata)

{"trace1": [{"city": ["madrid", "venice", "las vegas", "brighton"],"temp": [10, 20, 40, 35]}]}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58317550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档