读Json文件生成pandas数据框详情_python

来源:脚本之家  责任编辑:小易  
目录
前言records格式index格式columns 类型values格式split 参数示例压缩与编码

前言

本文讲解如何加载json文件或字符串为pandas数据框。pandas把json数据分成几种典型类型,希望对你实际数据应用开发有所启示。

有时可能需要转换json文件位pandas数据框。使用pandas内置的read_json()函数很容易实现,

其语法如下:

read_json(‘path’, orient=’index’)

path: json文件的路径orient: json文件的格式描述,缺省是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数据框内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

您可能感兴趣的文章:Pandas读存JSON数据操作示例详解Pandas常用的读取和保存数据的函数使用(csv,mysql,json,excel)对pandas处理json数据的方法详解Python基于pandas实现json格式转换成dataframe的方法pandas.DataFrame.to_json按行转json的方法解决Pandas to_json()中文乱码,转化为json数组的问题

  • 本文相关:
  • python中optparser库用法实例详解
  • python实现手势识别
  • python中调用其他程序的方式详解
  • pytorch之finetune使用详解
  • python实现带下标索引的遍历操作示例
  • python pyecharts库的用法大全
  • python控制台输出时刷新当前行内容而不是输出新行的实现
  • python数据可视化之使用matplotlib绘制简单图表
  • python合并多张图片成pdf
  • opencv+python识别七段数码显示器的数字(数字识别)
  • 如何将json数据生成json文件格式?
  • ruby+怎么生成json文件
  • PHP生成及获取JSON文件的方法
  • 在后台生成json文件保存网站首页的信息,然后网站首页用ajax读...
  • jquery怎样读取asp生成的json文件
  • jquery怎样读取asp生成的json文件 ??
  • jquery怎样读取asp生成的json文件
  • jquery怎样读取asp生成的json文件
  • jquery 调用json文件 生成下拉框 顺序问题
  • 如何navicat premium使库表生成json文件
  • js解析json文件并生成对应的表格
  • manifest.json 文件怎么生成
  • 如何用mfc 生成json文件
  • 怎么让json的文件生成的足够小?
  • egretwing 为什么导入资源没有生成json文件
  • js解析json文件并生成对应的表格
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全vbsdos/bathtahtcpythonperl游戏相关vba远程脚本coldfusionruby专题autoitseraphzonepowershelllinux shellluagolangerlang其它首页pythonpandas读存json数据操作示例详解pandas常用的读取和保存数据的函数使用(csv,mysql,json,excel)对pandas处理json数据的方法详解python基于pandas实现json格式转换成dataframe的方法pandas.dataframe.to_json按行转json的方法解决pandas to_json()中文乱码,转化为json数组的问题python中optparser库用法实例详解python实现手势识别python中调用其他程序的方式详解pytorch之finetune使用详解python实现带下标索引的遍历操作示例python pyecharts库的用法大全python控制台输出时刷新当前行内容而不是输出新行的实现python数据可视化之使用matplotlib绘制简单图表python合并多张图片成pdfopencv+python识别七段数码显示器的数字(数字识别)python入门教程 超详细1小时学会pythonpycharm 2020最新永久激活码(附最新激活python 元组(tuple)操作详解python 列表(list)操作方法详解python 字典(dictionary)操作详解pycharm 2020年最新激活码(亲测有效)python strip()函数 介绍pycharm 使用心得(一)安装和首次使用python中使用xlrd、xlwt操作excel表格详解python 中文乱码问题深入分析详解python中第三方库faker详解python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?python使用技巧-文件读写python实现多线程下载文件的代码实例基于python和c++实现删除链表的节点python中的随机函数random详解pycharm 安装jpype的教程python的string模块中的template类字符串模板用法python多进程multiprocessing、进程池用法实例分析python 日志增量抓取实现方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved