目录
前言records格式index格式columns 类型values格式split 参数示例压缩与编码前言
本文讲解如何加载json文件或字符串为pandas数据框。pandas把json数据分成几种典型类型,希望对你实际数据应用开发有所启示。
(相关资料图)
有时可能需要转换json文件位pandas数据框。使用pandas内置的read_json()函数很容易实现,
其语法如下:
path: json文件的路径orient:json文件的格式描述,缺省是read_json(‘path’, orient=’index’)
index
,还有其他选型:split, records, columns, values
。
下面通过几个示例进行说明。
records格式
假设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
index格式
假设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
columns 类型
假设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)
结果与上面一致。
values格式
假设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 参数示例
下面看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数据框详情的文章就介绍到这了,更多相关Json生成pandas数据框内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 2亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 3现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 4如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 5AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 6转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 7充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 8好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 9名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 10亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战