数据导入与预处理-第7章-数据清理工具OpenRefine

文章目录

  • 数据清理工具OpenRefine
    • OpenRefine简介
    • 下载与安装
    • 配置
    • 创建项目
    • 操作列
      • 收起列
      • 移动列和重排列
      • 移除该列与移除列
      • 重新定义列标题
      • 撤销与重做
      • 导出数据
    • 进阶操作
      • 数据排序
      • 数据归类
      • 重复检测
      • 数据填充
      • 文本过滤
      • 数据转换
  • 总结

数据清理工具OpenRefine

OpenRefine简介

OpenRefine是一款免费开源、清理数据的强大工具,它可以帮助用户在使用数据之前完成清理工作,并通过浏览器运行的界面直观地展现对数据的相关操作,对于编程能力薄弱的用户而言是一个不错选择。
在这里插入图片描述

OpenRefine是一款由Java开发的可视化工具,用户可以在操作界面上直接对数据进行数据清理和格式转换,它支持Windows、Linux和macOS系统,并且提供英文、中文和日文等多种语言,可以在用户缺乏专业编程技术的背景下快速地清理数据。
在这里插入图片描述

下载与安装

下载安装包
openrefine-3.7.2.zip

解压后如下:
在这里插入图片描述

单击“openrefine.exe”启动OpenRefine工具,若当前计算机中没有配置Java环境,则会在默认浏览器中打开“下载适用于Windows的Java”页面,如果已经安装,会弹出如下图所示界面。
在这里插入图片描述

配置

为保证读者后续能顺畅且便捷地使用OpenRefine工具,在使用OpenRefine工具操作之前,需要对其进行一些基本配置:语言设定和增加内存,其中增加内存可以避免后续操作时出现因数据集庞大而无法导入的问题。

语言设定
在这里插入图片描述

增加内存
OpenRefine在Windows系统中默认分配1G内存空间,若处理的数据需要使用更大的内存空间,则可以通过配置文件增加OpenRefine所使用的内存空间。
通过修改openrefine.l4j.ini文件的配置项可以给OpenRefine工具增加内存空间。
在这里插入图片描述

若使用2GB或更高的内存,需要将当前配置的Java环境版本升级至64位版本,否则会在编辑openrefine.l4j.ini文件后无法启动OpenRefine工具

创建项目

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

值得一提的是,OpenRefine工具默认显示前10行数据,大家可通过单击页面上方“显示”选项后面的数字(5、10、25、50),来指定显示的行数。
在这里插入图片描述

操作列

常见的操作包括
收起列、
移动列和重排列、
移除该列和移除列、
重命名列

收起列

在这里插入图片描述

收起该列后,会出现一个空白列,单击空白列即可恢复name2列
在这里插入图片描述

移动列和重排列

OpenRefine工具既支持一次移动单个列,也支持一次移动多个列,以达到重排数据列的目的。 OpenRefine工具支持4种移动列的方式,分别为“列移至开始”“列移至末尾”“左移列”和“右移列”。
在这里插入图片描述

右移后
在这里插入图片描述

重排/移动列
在这里插入图片描述

选择重拍/移除列后如下
在这里插入图片描述

窗口左侧按顺序显示了所有列的标题,大家可通过拖曳列标题至相应的位置来重排列。

在这里插入图片描述

选择确定后,如下(如果没有出现,可能是name2列处于收起状态)
在这里插入图片描述

移除该列与移除列

OpenRefine工具中

移除该列是对当前指定的单个列进行移除;
移除列是对不需要的列进行批量移除。

在这里插入图片描述

当前项目中不存在标题为“gender”的列。
在这里插入图片描述

移除列
在这里插入图片描述

选择移除的列
在这里插入图片描述

点击确定,如下
在这里插入图片描述

当前项目中不存在标题为“name2”和“nation”的列。

重新定义列标题

如果列标题不能清晰明了地传递该列数据所代表的含义,可通过重命名列来重新定义列标题。
在这里插入图片描述

撤销与重做

在这里插入图片描述

在这里插入图片描述

导出数据

虽然OpenRefine项目支持移动、移除和重命名列操作,但是这些操作不会修改原始数据,之所以出现这种情况是因为OpenRefine会拷贝原始数据,若希望列操作在原始数据中生效,则需要将修改后的数据执行导出操作。

在这里插入图片描述

OpenRefine工具支持将数据导出为项目、 HTML表格、Excel文件、ODF电子表格等。需要说明的是,“导出项目”选项会将项目导出为openrefine.tar.gz格式的压缩包。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

需要说明的是,后续章节仍会以Athletes_info项目为例演示操作步骤,为保证该项目中数据的完整性,这里将撤销对Athletes_info项目所有的操作。

在这里插入图片描述

进阶操作

数据排序

数据排序是一种常见的数据清理操作,它主要是按照指定方式排列数据,这样不仅可以对数据进行检查和纠错,还可以通过浏览排序后的数据查看数据的特征或趋势,从而找到解决问题的线索。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数据归类

数据归类是OpenRefine工具中常见的功能之一,它主要用于从数据中获得一个变化的子集,方便用户从多个角度查看数据,并且不会改变数据本身。OpenRefine工具支持多种归类操作,包括文本归类、数值归类、时间线归类、散点图归类以及自定义归类。

文本归类用于将特定文本值进行分类归组。打开Athletes_info项目中event列的下拉菜单,在下拉菜单中选择【归类】→【文本归类】,页面左侧会打开显示归类后结果的“归类/过滤器” 。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数值归类
在这里插入图片描述

自定义归类
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

重复检测

在这里插入图片描述

如果希望删除name列的重复值,那么需要先对包含重复值的数据进行排序,再删除按复数归类后值为true的结果。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

OpenRefine工具中的重复检测功能只适用于文本类型的数据。

数据填充

数据填充是使用指定的字符或数字对空缺位置进行填充,其目的是保证数据的完整性。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

文本过滤

文本过滤用于快速匹配某个特定的字符串。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

数据转换

数据转换功能,能够根据需求将一列数据转换为指定的类型

在这里插入图片描述

常用转换包括移除首尾空白、收起连续空白、首字母大写、全大写、全小写、文本化等功能。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

需要说明的是,在编写Python语言的表达式时,需要保证表达式中必须有return语句。

总结

本文主要介绍了数据清理工具OpenRefine的简介,安装,创建项目等基本操作,并提供了操作列和进阶操作等步骤。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习之基于百度飞桨PaddleOCR图像字符检测识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介主要特点使用步骤 二、功能三、系统四. 总结 一项目简介 # Introduction to PaddleOCR Image Character Detection and Recognition System Based on Baidu…

静态住宅IP代理实际应用:它的强大用途你知道吗?

静态住宅IP代理与动态IP代理相比,提供了更稳定的网络身份,使得企业在进行数据采集、区域定位营销和市场研究时更为高效。同时,它也是提高在线隐私保护和避免封禁的有效工具。 通过详细分析,你将能全面了解静态住宅IP代理的应用&a…

SAP_ABAP_编程基础_字符转换_内存表、jsonString 相互转换

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读441次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/j…

【力扣:1707 1803】0-1字典树

思路:树上每个节点存储拥有该节点的数组元素的最小值,left节点表示0,right节点表示1,构建完成后遍历树当子节点没有比mi小的元素时直接输出-1,否则向下构造。 struct tree{int m;tree*leftnullptr,*rightnullptr;tree…

【传智杯】儒略历、评委打分、萝卜数据库题解

🍎 博客主页:🌙披星戴月的贾维斯 🍎 欢迎关注:👍点赞🍃收藏🔥留言 🍇系列专栏:🌙 蓝桥杯 🌙请不要相信胜利就像山坡上的蒲公英一样唾手…

pandas教程:2012 Federal Election Commission Database 2012联邦选举委员会数据库

文章目录 14.5 2012 Federal Election Commission Database(2012联邦选举委员会数据库)1 Donation Statistics by Occupation and Employer(按职业与雇主划分的捐赠数据)2 Bucketing Donation Amounts(桶捐赠额&#x…

vue项目实战-电商后台管理系统

项目简介: 该项目为电商后台的管理系统。设计了登录页面。 管理人员需要通过输入正确的用户名和密码才能登录。登陆成功之后进入管理页面: 管理页面由五个子模块组成:用户管理,权限管理,商品管理,订单管理…

实验八-数据处理

目录 1.数据来源 2.对于All表: 3.对于sf 和sfweibo 表: 4. 对于base_info表: 5.导出最后结果到一个Excel文件中,完成数据处理。 1.数据来源 本次所分析的数据是通过爬虫抓取的微博数据。选取新浪微博为数据平台,选…

STM32CubeIDE(ADC)

学习链接:【HAL库详解】STM32 ADC HAL库使用_哔哩哔哩_bilibili 目录 一、概念 1、ADC介绍 2、ADC主要特征 二、ADC模式 1、查询模式 1.1 单通道采集软件配置 1.2 查询模式步奏 1.3 单通道采集主要代码 2、多通道采集 2.1 软件配置 2.2 主要代码 一、概…

【Linux】Linux第一个小程序 --- 进度条

👦个人主页:Weraphael ✍🏻作者简介:目前正在学习c和Linux还有算法 ✈️专栏:Linux 🐋 希望大家多多支持,咱一起进步!😁 如果文章有啥瑕疵,希望大佬指点一二 …

电子学会C/C++编程等级考试2022年06月(三级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:制作蛋糕 小A擅长制作香蕉蛋糕和巧克力蛋糕。制作一个香蕉蛋糕需要2个单位的香蕉,250个单位的面粉,75个单位的糖,100个单位的黄油。制作一个巧克力蛋糕需要75个单位的可可粉,200个单位的面粉,150个单位的糖,150个单位的黄…

jenkins 代码执行 (CVE-2017-1000353)漏洞复现

jenkins 代码执行 (CVE-2017-1000353)漏洞复现 名称: jenkins 代码执行 (CVE-2017-1000353) 描述: ​Jenkins 可以通过其网页界面轻松设置和配置,其中包括即时错误检查和内置帮助。 插件 通过更新中心中的 1000 多个插件,Jenkins 集成了持续集成和持续…

【C++初阶(九)】 priority_queue的使用与模拟实现

本专栏内容为:C学习专栏,分为初阶和进阶两部分。 通过本专栏的深入学习,你可以了解并掌握C。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C 🚚代码仓库:小小unicorn的代码仓库&…

删除链表的倒数第N个节点,剑指offerII(21),力扣

目录 题目地址: 题目: 相似类型题: 我们直接看本题题解吧: 解题方法: 难度分析: 解题分析: 解题思路(双指针): 代码实现: 代码说明: 代…

C++基础 -8- 函数重载

函数重载格式(图片代码段呈现) #include "iostream"using namespace std;void rlxy(int a) {cout << "int a"<< endl; }void rlxy(char a) {cout << "char a"<< endl; }int main() {rlxy(99);rlxy(c); }函数重载的依据…

从Android面试题目溯源-1、创建线程有那几种方式

概念 程序执行流的最小单位&#xff0c;处理器调度调度和分派的基本单位。 如何理解这个概念 如下图&#xff0c;可以简单类比吉他&#xff0c;六根弦代表六个线程&#xff0c;每个线程独立且单独运行&#xff0c;且持有上一个音的状态&#xff0c;每根手指可类比为一个CPU的…

matlab绘图函数plot和fplot的区别

一、背景 有的函数用plot画就会报错&#xff0c;显示数据必须为可转换为双精度值的数值、日期时间、持续时间、分类或数组。 如下图所示&#xff1a; 但用fplot函数就没有问题&#xff0c;因此这里记录一下两者的区别&#xff0c;如果使用不当&#xff0c;画出的图可能就是下…

23种设计模式之C++实践

23种设计模式之C++实践 1. 简介2. 基础知识3. 设计模式(一)创建型模式1. 单例模式1.2 饿汉式单例模式1.3 懒汉式单例模式比较IoDH单例模式总结2. 简单工厂模式简单工厂模式总结3. 工厂方法模式工厂方法模式总结4. 抽象工厂模式抽象工厂模式总结5. 原型模式原型模式总结6. 建造…

Leetcode算法之哈希表

目录 1.两数之和2.判定是否互为字符重排3.存在重复元素I4.存在重复元素II5.字母异位词分组 1.两数之和 两数之和 class Solution { public:vector<int> twoSum(vector<int>& nums, int target) {unordered_map<int,int> hash;for(int i0;i<nums.si…

2020年2月25日 Go生态洞察:Go 1.14版本发布

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…