Python 官方文档:入门教程 => 点击学习
目录前言records格式index格式columns 类型values格式split 参数示例压缩与编码前言 本文讲解如何加载JSON文件或字符串为pandas数据框。pandas
本文讲解如何加载JSON文件或字符串为pandas数据框。pandas把json数据分成几种典型类型,希望对你实际数据应用开发有所启示。
有时可能需要转换json文件位pandas数据框。使用pandas内置的read_json()函数很容易实现,
其语法如下:
read_json(‘path’, orient=’index’)
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数据框详情的文章就介绍到这了,更多相关Json生成pandas数据框内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: 读Json文件生成pandas数据框详情
本文链接: https://www.lsjlt.com/news/120141.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0