讀Json文件生成pandas數(shù)據(jù)框詳情
前言
本文講解如何加載json文件或字符串為pandas數(shù)據(jù)框。pandas把json數(shù)據(jù)分成幾種典型類型,希望對(duì)你實(shí)際數(shù)據(jù)應(yīng)用開(kāi)發(fā)有所啟示。
有時(shí)可能需要轉(zhuǎn)換json文件位pandas數(shù)據(jù)框。使用pandas內(nèi)置的read_json()函數(shù)很容易實(shí)現(xiàn),
其語(yǔ)法如下:
read_json(‘path’, orient=’index’)
- path: json文件的路徑
- orient: json文件的格式描述,缺省是
index,還有其他選型:split, records, columns, values。
下面通過(guò)幾個(gè)示例進(jìn)行說(shuō)明。
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
}
} 與上面實(shí)現(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,則行自動(dòng)生成序號(hào):
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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python基于pandas實(shí)現(xiàn)json格式轉(zhuǎn)換成dataframe的方法
- 對(duì)pandas處理json數(shù)據(jù)的方法詳解
- Pandas讀存JSON數(shù)據(jù)操作示例詳解
- python使用pandas讀取json文件并進(jìn)行刷選導(dǎo)出xlsx文件的方法示例
- Pandas實(shí)現(xiàn)解析JSON數(shù)據(jù)與導(dǎo)出的示例詳解
- Python?Pandas實(shí)現(xiàn)將嵌套JSON數(shù)據(jù)轉(zhuǎn)換DataFrame
- pandas讀取HTML和JSON數(shù)據(jù)的實(shí)現(xiàn)示例
- Python使用pandas讀取Excel并選取列轉(zhuǎn)json
- Pandas JSON的處理使用
相關(guān)文章
Pytorch實(shí)現(xiàn)GoogLeNet的方法
今天小編就為大家分享一篇Pytorch實(shí)現(xiàn)GoogLeNet的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
python面向?qū)ο缶幊淘O(shè)計(jì)原則之單一職責(zé)原則詳解
這篇文章主要為大家詳細(xì)介紹了python面向?qū)ο缶幊淘O(shè)計(jì)原則之單一職責(zé)原則,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
Django contenttypes 框架詳解(小結(jié))
這篇文章主要介紹了Django contenttypes 框架詳解(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
pyppeteer執(zhí)行js繞過(guò)webdriver監(jiān)測(cè)方法下
這篇文章主要為大家介紹了pyppeteer上執(zhí)行js并繞過(guò)webdriver監(jiān)測(cè)常見(jiàn)方法的上篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
Python對(duì)列表的操作知識(shí)點(diǎn)詳解
在本篇文章里小編給大家整理了關(guān)于Python對(duì)列表的操作知識(shí)點(diǎn)總結(jié)以及實(shí)例代碼運(yùn)用,需要的朋友們跟著學(xué)習(xí)下。2019-08-08
Python參數(shù)傳遞中雙星號(hào)(**)和單星號(hào)(*)是作用
雙星號(hào)(**)和單星號(hào)(*)在參數(shù)傳遞中扮演著關(guān)鍵角色,本文主要介紹了Python參數(shù)傳遞中雙星號(hào)(**)和單星號(hào)(*)是作用,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
python實(shí)現(xiàn)逢七拍腿小游戲的思路詳解
這篇文章主要介紹了python實(shí)現(xiàn)逢七拍腿小游戲的思路,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05

