讀Json文件生成pandas數(shù)據(jù)框詳情
前言
本文講解如何加載json文件或字符串為pandas數(shù)據(jù)框。pandas把json數(shù)據(jù)分成幾種典型類型,希望對你實際數(shù)據(jù)應(yīng)用開發(fā)有所啟示。
有時可能需要轉(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
。
下面通過幾個示例進行說明。
records格式
假設(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
index格式
假設(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
columns 類型
假設(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é)果與上面一致。
values格式
假設(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ù)示例
下面看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)
到此這篇關(guān)于讀Json文件生成pandas數(shù)據(jù)框詳情的文章就介紹到這了,更多相關(guān)Json生成pandas數(shù)據(jù)框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python基于pandas實現(xiàn)json格式轉(zhuǎn)換成dataframe的方法
- 對pandas處理json數(shù)據(jù)的方法詳解
- Pandas讀存JSON數(shù)據(jù)操作示例詳解
- python使用pandas讀取json文件并進行刷選導(dǎo)出xlsx文件的方法示例
- Pandas實現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解
- Python?Pandas實現(xiàn)將嵌套JSON數(shù)據(jù)轉(zhuǎn)換DataFrame
- pandas讀取HTML和JSON數(shù)據(jù)的實現(xiàn)示例
- Python使用pandas讀取Excel并選取列轉(zhuǎn)json
- Pandas JSON的處理使用
相關(guān)文章
Python實現(xiàn)解析參數(shù)的三種方法詳解
這篇文章主要介紹了python解析參數(shù)的三種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-07-07詳解利用python-highcharts庫繪制交互式可視化圖表
本文主要和大家分享一個超強交互式可視化繪制工具-python-highcharts。python-highcharts就是使用Python進行Highcharts項目繪制,簡單的說就是實現(xiàn)Python和Javascript之間的簡單轉(zhuǎn)換層,感興趣的可以了解一下2022-03-03tensorflow 1.X遷移至tensorflow2 的代碼寫法
本文主要介紹了tensorflow 1.X遷移至tensorflow2 的代碼寫法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12Python使用matplotlib模塊繪制圖像并設(shè)置標(biāo)題與坐標(biāo)軸等信息示例
這篇文章主要介紹了Python使用matplotlib模塊繪制圖像并設(shè)置標(biāo)題與坐標(biāo)軸等信息,結(jié)合實例形式分析了Python中matplotlib模塊進行坐標(biāo)系圖形繪制的相關(guān)操作技巧,需要的朋友可以參考下2018-05-05python智聯(lián)招聘爬蟲并導(dǎo)入到excel代碼實例
這篇文章主要介紹了python智聯(lián)招聘爬蟲并導(dǎo)入到excel代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09Python Pillow.Image 圖像保存和參數(shù)選擇方式
今天小編就為大家分享一篇Python Pillow.Image 圖像保存和參數(shù)選擇方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01