您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么讀Json文件生成pandas數(shù)據(jù)框”,內(nèi)容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“怎么讀Json文件生成pandas數(shù)據(jù)框”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
有時可能需要轉(zhuǎn)換json文件位pandas數(shù)據(jù)框。使用pandas內(nèi)置的read_json()函數(shù)很容易實現(xiàn)。
其語法如下:
read_json(‘path’, orient=’index’)
path: json文件的路徑
orient: json文件的格式描述,缺省是index
,還有其他選型:split, records, columns, values
。
下面通過幾個示例進行說明。
假設(shè)json文件my_file.json的格式如下:
[ { "points": 25, "assists": 5 }, { "points": 12, "assists": 7 }, { "points": 15, "assists": 7 }, { "points": 19, "assists": 12 } ]
我們使用pandas的函數(shù)read_json,只要只從orient參數(shù)位records:
# 加載json文件,生成pandas數(shù)據(jù)框 df = pd.read_json('data/json_file.json', orient='records') # 查看數(shù)據(jù)框 print(df)
輸出結(jié)果:
points assists
0 25 5
1 12 7
2 15 7
3 19 12
假設(shè)json文件格式為:
{ "0": { "points": 25, "assists": 5 }, "1": { "points": 12, "assists": 7 }, "2": { "points": 15, "assists": 7 }, "3": { "points": 19, "assists": 12 } }
與上面實現(xiàn)代碼一樣,僅需要修改orient=‘index’:
import pandas as pd df = pd.read_json("data/my_file.json", orient='index') print(df)
輸出結(jié)果:
points assists
0 25 5
1 12 7
2 15 7
3 19 12
假設(shè)json文件格式為:
{ "points": { "0": 25, "1": 12, "2": 15, "3": 19 }, "assists": { "0": 5, "1": 7, "2": 7, "3": 12 } }
加載代碼修改orient參數(shù)為’columns’:
import pandas as pd df = pd.read_json("data/my_file.json", orient='columns') print(df)
結(jié)果與上面一致。
假設(shè)json文件代碼如下:
[ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ]
加載代碼如下:
import pandas as pd df = pd.read_json("data/my_file.json", orient='values') print(df)
輸出結(jié)果:
0 1
0 25 5
1 12 7
2 15 7
3 19 12
下面看split參數(shù)示例:
import pandas as pd # 示例數(shù)據(jù) data = '{"columns":["col 1","col 2"], "index":["row 1","row 2"], "data":[["a","b"],["c","d"]]}' df = pd.read_json(data, orient='split') print(df)
輸出交叉表形式結(jié)果:
col 1 col 2
row 1 a b
row 2 c d
如果不指定index,則行自動生成序號:
import pandas as pd data = '{"columns":["col 1","col 2"], "data":[["a","b"],["c","d"]]}' df = pd.read_json(data, orient='split') print(df)
輸出結(jié)果:
col 1 col 2
0 a b
1 c d
使用compression參數(shù)可以解壓并載入json文件,參數(shù)選型有:‘zip’, ‘gzip’, ‘bz2’, ‘zstd’。如果指定zip,則確保文件為zip文件格式,None表示不解壓。
使用 encoding
指定自定義編碼,缺省為 UTF-8 編碼。
假設(shè)my_file.zip壓縮文件格式為:
[ [ 25, 5 ], [ 12, 7 ], [ 15, 7 ], [ 19, 12 ] ]
載入代碼:
import pandas as pd df = pd.read_json("data/my_file.zip", orient='values', compression='zip') print(df)
讀到這里,這篇“怎么讀Json文件生成pandas數(shù)據(jù)框”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。