《机器学习与数据科学(基于R的统计学习方法)》——2.8 读取JSON文件

简介:

本节书摘来异步社区《机器学习与数据科学(基于R的统计学习方法)》一书中的第2章,第2.8节,作者:【美】Daniel D. Gutierrez(古铁雷斯),更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.8 读取JSON文件

为机器学习项目读取数据时,另一种你可能遇到的数据文件类型是JSON,也就是JavaScript Object Notation。JSON是基于文本的开源标准,为创造人类可读的数据交换而设计。它经常和流行的Ajax网络编程技术一同使用。R有两个流行的包能够连接JSON数据文件:rjson和RJSONIO。rjson没有使用R的S3或S4系统,所以它不太容易扩展。同时,rjson也不使用向量化操作,这导致它处理重要数据时速度很慢。同样的,在将JSON数据读入R时,rjson也有点慢并且不能扩展到海量数据。因此,在本节中我们会使用RJSONIO。

我们提供了一个把JSON文件读进R的数据连接案例,第一步需要获得一个URL来下载SFParkingMeters数据集的JSON版本(JSON是San Francisco Data网站提供的另一种文件类型)。大多数的工作由RJSONIO包中的fromJSON()函数来完成。这个函数能将JSON数据内容转换成R对象,以便进行更深入的分析。

下面的R代码首先将JSON URL保存在变量fileURL中。下一步,我们在fromJSON()函数中提交URL,返回数据存储在一个嵌套列表的实体中,包括两个基本的部分:meta和data。我们只需要data部分,所以我们把它存储在列表实体parkdata中。这里的窍门是知道怎样将嵌套列表拆成变量的单独值。为了做到这一点,你需要用parkdata[[1]]来看第一行的观测值,尝试识别一些数据,然后标注这些值的索引,以便后续进行查阅来构造一个数据框。我们可以使用列表处理函数sapply()将数据从列表中抽取出来。最后,我们需要构造一个新的数据框park_df,里面包含初识JSON文件的3个变量:CAP_COLOR、METER_TYPE和STREETNAME。现在,JSON数据以一种合适的数据框的形式存在,我们可以对数据进行常用的分析:

> library(RJSONIO)
> fileURL <- "https://data.sfgov.org/api/views/7egw-qt89/rows. json?accessType=DOWNLOAD"
> parkdata <- fromJSON(fileURL)[[2]]
> park_df = data.frame(
 CAP_COLOR = sapply(parkdata, function(x) x[[12]]),
 METER_TYPE = sapply(parkdata, function(x) x[[13]]),
 STREETNAME = sapply(parkdata, function(x) x[[20]])  
)
> head(park_df)
    CAP_COLOR  METER_TYPE   STREETNAME
1   Grey        SS             CHESTNUT ST
2   Green       SS             CHESTNUT ST
3   Yellow      SS             CHESTNUT ST
4   Grey        SS             COLUMBUS AVE
5   Grey        SS             COLUMBUS AVE
相关文章
|
28天前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
68 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
25天前
|
机器学习/深度学习 测试技术
阿里云入选Gartner数据科学和机器学习平台挑战者象限
Gartner® 正式发布了《数据科学与机器学习平台魔力象限》报告(Magic Quadrant™ for Data Science and Machine Learning Platforms),阿里云成为唯一一家入选该报告的中国厂商,被评为“挑战者”(Challengers)。
|
3月前
|
JSON API 网络架构
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
【Azure 媒体服务】使用编码预设文件(Preset.json)来自定义编码任务 -- 创建视频缩略图
|
3月前
|
JSON 数据格式 Python
【2023最新】Matlab 保存JSON数据集文件,并用Python读取
本文介绍了如何使用MATLAB生成包含数据和标签的JSON格式数据集文件,并展示了用Python读取该JSON文件作为训练集的方法。
122 1
|
28天前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
36 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
2月前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
68 29
|
1月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
63 2
|
27天前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
26 0
|
2月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
66 1
|
2月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
130 2
下一篇
无影云桌面