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。我认为,若没有视频演示我所展示的命令,我的课程将是不完整的。因此,我将在每节课中加入视频演示。请先观看并享受视频,再继续下一环节:
数据预览(使用 'head' 命令)
该数据集较小(玩具数据),理论上可以用文本编辑器或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 命令的帮助页面,列出所有正在运行的进程和应用程序。

从文件的前25行可以看出,数据采用分隔符格式。第一行(通常称为表头)及随后的几行数据表明,列内容分别为:Name、City、State、Tuition and fees、Undergrad Enrollment 和 Rank。
想了解更多吗?
阅读附带的手册页: