Logo
Section 1 / 9

Unirank:数据预览(head、pipe 和 csvlook)

使用 head、管道和 csvlook 预览 unirank.csv 数据

导入

Unirank:数据预览(head、pipe 和 csvlook)

使用 head、管道和 csvlook 预览 unirank.csv 数据

大学排名已成为众多机构普遍执行的一项任务,每个机构都会基于多个加权类别提出不同的排名。常见的排名包括:Webometrics世界大学排名、泰晤士高等教育-QS世界大学排名 和 世界大学学术排名。第一个排名衡量大学在互联网上的可见度及其全球表现;后两个排名则基于成员获得的奖项、引用次数和发表论文等类别来评估大学的表现。雇主,尤其是跨国组织,常利用排名来筛选毕业生来源的高校,因此进入高排名大学有助于在竞争激烈的就业市场中脱颖而出。

在本课程中,我们将使用一个简单的(公开可获取)数据集,该数据来自 data.world,名为:US News大学排名 2017年版。通过Bash命令,我们将探索该数据集中的不同特征,并最终发现学费与大学排名之间的一个有趣关联。此简单数据集包含以下字段:

  • Name - 院校名称
  • Location - 所在城市和州
  • Rank - 请参阅此处了解计算方法
  • Description - 来自美国新闻的简要概述文本
  • Tuition and fees - 学费与杂费合计
  • Undergrad Enrollment - 在读本科生人数

在本书描述的每个项目中,我们都将学习一些Bash命令和技巧。

学习目标

完成本课后,你将掌握以下 Bash 命令的使用:

  • head — 输出文件的开头部分
  • tail — 与 head 相反,输出文件末尾部分
  • cat — 连接并打印文件内容
  • sort — 对文件内容进行排序
  • uniq — 删除重复条目

数据下载

请从此处 下载数据,我们已对数据进行了适度简化,请将其保存为:unirank.csv。我认为,若没有视频演示我所展示的命令,我的课程将是不完整的。因此,我将在每节课中加入视频演示。请先观看并享受视频,再继续下一环节:

该数据集较小(玩具数据),理论上可以用文本编辑器或Excel打开。然而,真实世界的数据集通常更大且难以完整打开。假设它是一个大数据(非结构化数据),我们希望快速查看数据内容。当你首次接触到新数据时,预览是首要步骤——这有助于了解数据包含什么内容、如何组织,以及数据本身是否合理。

为了帮助我们预览数据,可以使用 head 命令,顾名思义,它显示文件的前几行(unirank.csv 数据集已随本课程提供)。只需点击“运行”,即可查看输出结果!

1#!/bin/bash 2head unirank.csv

不过,你可能会发现初始输出并不够直观。因此,我们将安装一个名为 csvkit 的工具,这是一套用于转换和处理CSV文件的命令行工具(安装命令:sudo pip install csvkit)。

这将极大提升我们后续分析的效率。安装完成后,重新运行 head 命令,但将输出通过管道(|,即把前一个命令的输出作为下一个命令的输入,稍后我们将深入学习这一机制)传递给 csvkit 工具包中的 csvlook 命令:

1#!/bin/bash 2head unirank.csv | csvlook

你应该能看到文件的前10行被清晰地展示在屏幕上。若想查看超过前10行的内容(例如前25行),可使用 -n 选项:

1#!/bin/bash 2head -n 25 unirank.csv | csvlook

此处,unirank.csv 是传给 head 命令的命令行参数,而 -n 是一个选项,用于覆盖默认的10行限制。这类命令行选项通常以连字符开头,后跟字符串,再加空格和选项值(如 -n 25)。不过,有些选项不需要值,仅用于开启或关闭某个功能,例如 top -h 会显示 top 命令的帮助页面,列出所有正在运行的进程和应用程序。

Course Image

从文件的前25行可以看出,数据采用分隔符格式。第一行(通常称为表头)及随后的几行数据表明,列内容分别为:Name、City、State、Tuition and fees、Undergrad Enrollment 和 Rank。

想了解更多吗?

阅读附带的手册页:

head.txt

csvlook.txt

pipe.txt

课程介绍

在排名列表中查找大学(使用 grep、管道和 wc)