簡體   English   中英

將 pandas DataFrame 轉換為 JSON 列表字典

[英]Convert pandas DataFrame to JSON dictionary of lists

我有一個 pandas dataframe 代表一些基本的天氣信息,看起來像這樣

地點 d日期 最低溫度 最高溫度
悉尼 2013-01-01 15 35 10
悉尼 2013-01-02 16 36 5
悉尼 2013-01-03 16 31 0
悉尼 2013-01-04 16 31 2

要使用 JavaScript 庫(例如 C3)繪制它,我需要將每一列作為 JSON 中的數組

{
  "x": ["2013-01-01", "2013-01-02", "2013-01-03", "2013-01-04"],
  "rain": [10, 5, 0, 2],
  "max-temp": [35, 36, 31, 31]
}

格式化為列不太有效

df = client.query(query).to_dataframe()
jsonstr = df.to_json(orient='columns')

結果是這樣

{
   “location”:{
      “0”:Sydney,
      “1”:Sydney,
      “2”:Sydney,
      “3”:Sydney
   },
   "dDate":{
      "0":2013-01-01,
      "1":2013-01-02,
      "2":2013-01-03,
      "3":2013-01-04
   },
   “min-temp”:{
      “0”:15,
      “1”:16,
      “2”:16,
      “3”:16
    },
    …….
}

如何重現所需的 JSON ,其中每個列只是一個值數組?

to_json僅支持記錄和嵌套字典格式。 要獲取列表的字典,首先使用to_dict轉換為字典,然后轉換為 json:

pd.io.json.dumps(df.to_dict(orient='list'))
# '{"x":["2013-01-01","2013-01-02","2013-01-03","2013-01-04"],"rain":[10,5,0,2],"max-temp":[35,36,31,31]}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM