簡體   English   中英

如何將JSON數據轉換為指定的Pandas DataFrame

[英]How to convert JSON data into specified Pandas DataFrame

我有一個看起來像這樣的json數據:

"rows": [
        ["2019-08-02", 364, 209, 2, 2],
    ["2019-08-03", 386, 250, 2, 5],
    ["2019-08-04", 382, 221, 3, 1],
    ["2019-08-05", 361, 218, 1, 0],
    ["2019-08-06", 338, 205, 4, 0],
    ["2019-08-07", 353, 208, 2, 2],
    ["2019-08-08", 405, 223, 2, 2],
    ["2019-08-09", 405, 266, 2, 2],
    ["2019-08-10", 494, 288, 0, 1],
        ]

我想成為數據的標頭為(不包含在JSON文件中)為

["day", "estimatedPeopleVisited", "bought", "gives_pfeedback", "gives_nfeedback"]

我嘗試使用以下代碼讀取文件:

f = pd.read_json("data1308.json")
print(f)

這給出了如下輸出:

                    rows
0   [2019-08-02, 364, 209, 2, 2]
1   [2019-08-03, 386, 250, 2, 5]
2   [2019-08-04, 382, 221, 3, 1]
3   [2019-08-05, 361, 218, 1, 0]
4   [2019-08-06, 338, 205, 4, 0]
5   [2019-08-07, 353, 208, 2, 2]
6   [2019-08-08, 405, 223, 2, 2]
7   [2019-08-09, 405, 266, 2, 2]
8   [2019-08-10, 494, 288, 0, 1]

我期望輸出形式為:

       day      est   bought   gives_pfeedback    gives_nfeedback
0  2019-08-02   364    209           2                   2
1  2019-08-03   386    250           2                   5
2  2019-08-04   382    221           3                   1
3  2019-08-05   361    218           1                   0
4  2019-08-06   338    205           4                   0
.        .       .      .            .                   .
.        .       .      .            .                   .
.        .       .      .            .                   .

在讀取為問題集格式后,可以按指定的格式轉換數據,但是,有什么方法可以直接讀取指定格式的JSON數據?

那這個呢?

import pandas as pd

data = {"rows": [
                 ["2019-08-02", 364, 209, 2, 2],
                ["2019-08-03", 386, 250, 2, 5],
                ["2019-08-04", 382, 221, 3, 1],
                ["2019-08-05", 361, 218, 1, 0],
                ["2019-08-06", 338, 205, 4, 0],
                ["2019-08-07", 353, 208, 2, 2],
                ["2019-08-08", 405, 223, 2, 2],
                ["2019-08-09", 405, 266, 2, 2],
                ["2019-08-10", 494, 288, 0, 1],
                    ]}
cols = ["day", "estimatedPeopleVisited", "bought", "gives_pfeedback", "gives_nfeedback"]

df = pd.DataFrame.from_dict(data["rows"])  
df.columns = cols

暫無
暫無

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

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