数据导入与预处理-第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.hqwc.cn/news/225837.html

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

相关文章

NX二次开发UF_MTX3_x_vec 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_MTX3_x_vec Defined in: uf_mtx.h void UF_MTX3_x_vec(const double mtx [ 9 ] , double x_vec [ 3 ] ) overview 概述 Returns the X-direction vector of a matrix. 返回矩阵…

图片照片编辑SDK解决方案

图像和照片已经成为我们日常生活中不可或缺的一部分,无论是个人还是企业,都希望通过高质量的图像和照片来提升品牌形象,吸引更多的用户和客户。然而,图像和照片的编辑并不是一件简单的事情,它需要专业的技术和工具。这…

如何使用ArcGIS实现生态廊道模拟

生态廊道是指一种连接不同生态系统的走廊或通道,其建立有助于解决人类活动对野生动植物栖息地破碎化和隔离化的问题,提高生物多样性,减轻生态系统的压力。在城市化和农业开发不断扩张的背景下,生态廊道对于野生动植物的生存和繁衍…

基于单片机环境监测温湿度PM2.5系统设计

**单片机设计介绍,基于单片机环境监测温湿度PM2.5系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 设计一个基于单片机环境监测温湿度PM2.5的系统是一个非常有意义的项目。以下是一个基本的介绍: …

【Unity细节】为什么加载精灵图集直接导致Unity引擎崩溃

👨‍💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶‍🌫️收录于专栏:unity细节和bug 😶‍🌫️优质专栏 ⭐【…

蓝桥杯刷题day01——字符串中的单词反转

题目描述 你在与一位习惯从右往左阅读的朋友发消息,他发出的文字顺序都与正常相反但单词内容正确,为了和他顺利交流你决定写一个转换程序,把他所发的消息 message 转换为正常语序。 注意:输入字符串 message 中可能会存在前导空…

013 C++ set与map的用法

前言 本文将会向你介绍set与map的主要用法 set详解 int main() {set<string> s;vector<string> v { "Fan1","Fan2", "Fan3", "Fan4" };for (auto e : v){s.insert(e);}string input;while (cin >> input){if (s.…

成绩排序(练习链表)

&#xff08;图片别看错了&#xff0c;右边的是输出样例&#xff09; 前几天学了学链表&#xff0c;也把一些ADT格式敲了敲&#xff0c;但是还是没有实际用过 然后就选了一道排序题&#xff0c;顺便试了试插入排序 以前只知道有插入排序这个东西&#xff0c;但是用数组实现的…

Leetcode—18.四数之和【中等】

2023每日刷题&#xff08;四十一&#xff09; Leetcode—18.四数之和 实现代码 class Solution { public:vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> ans;sort(nums.begin(), nums.end());int n …

供应链攻击的类型和预防

供应链攻击是一种面向软件开发人员和供应商的新兴威胁&#xff0c;目标是通过感染合法应用分发恶意软件来访问源代码、构建过程或更新机制。 供应链攻击是威胁行为者通过利用软件供应链中的漏洞进入组织网络的一种网络攻击&#xff0c;供应链攻击的目标可以是软件开发过程中的…

11月28日星期二今日早报简报微语报早读

11月28日星期二&#xff0c;农历十月十六&#xff0c;早报微语早读。 1、广电总局&#xff1a;有线电视终端系统默认设置应为“开机进入全屏直播”&#xff1b; 2、我国下一代互联网技术专利申请量10年超170万件&#xff1b; 3、字节收缩旗下游戏业务&#xff1a;已上线的游…

MIGO收货报替代“ZF002“, 步骤““ 中存在语法错误消息号 GB032错误

MIGO收货报替代"ZF002", 步骤"" 中存在语法错误消息号 GB032错误。替代"ZF002", 步骤"" 中存在语法错误消息号 GB032诊断 在 ABAP 代码生成过程中&#xff0c;在替代ZF002中发现了语法错误。 系统响应 未为该布尔陈述生成 ABAP 代码&…