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