Logo
Section 1 / 7

FB:数据预览(csvstat、csvcut、head、cat)

用 csvstat、csvcut、head 等命令预览 Facebook 数据集

导入

FB:数据预览(csvstat、csvcut、head、cat)

用 csvstat、csvcut、head 等命令预览 Facebook 数据集

如今,Facebook 拥有超过十亿的活跃用户,已真正成为个人、产品和企业品牌建设的核心平台。企业希望了解公众对其业务相关话题的看法,以便让产品和营销策略更贴近客户需求。实现这一目标的一种方式是分析公司的 Facebook 页面数据,从而帮助营销人员制作更具针对性的内容。

在本课程中,我们将使用 Facebook 抓取工具 对某个未公开的 Facebook 页面进行数据抓取,并对生成的数据集进行挖掘。本次实验的目标是仅用一条 Bash 命令,找出该页面上最活跃的状态消息。

数据下载

请从 此处 下载数据,这是 Educative 官网提供的简化版数据。我们将数据保存为:facebookdata.csv。
稍后我们会看到,该数据集包含以下字段:status_id、status_message、link_name、status_type、status_link、status_published、num_reactions、num_comments、num_shares、num_likes、num_loves、num_wows、num_hahas、num_sads、num_angrys。通过 Bash 工具,我们将探索这些特征,并最终找出在总互动量方面最活跃的一条状态消息。

学习目标

完成本课程后,你将学会使用以下 Bash 命令:

  • head —— 输出文件的开头部分
  • tail —— 与 head 相反,输出文件末尾部分
  • cat —— 连接并打印文件内容
  • sort —— 对文件内容进行排序
  • grep —— 在输入文件中搜索包含指定模式的行
  • uniq —— 删除重复项
  • awk —— 编程语言(新内容)
  • Bash 函数(新内容)

数据集预览

与之前一样,这个数据集规模较小(玩具数据),理论上可以用文本编辑器或 Excel 打开。但正如第一章所述,真实世界的数据集通常更大且难以整体打开。因此,我们先快速预览一下数据内容。

数据有多少列和多少行?

首先,我们使用 csvkit 工具中的 csvstat 来获取数据统计信息:

查看列的统计信息:

1csvstat -n facebookdata.csv

查看行数统计信息:

1csvstat --count facebookdata.csv

最终输出结果如下:

facebookdata.csv 统计信息(使用 csvstat)
facebookdata.csv 统计信息(使用 csvstat)

数据显示,该数据集共有 15 列,共 3222 行。

数据长什么样?

当你拿到一份新数据时,首要任务通常是预览数据内容,以了解其结构、组织方式以及数据是否合理。为了快速预览,我们可以使用 head、csvlook 和 csvcut 命令:

1csvcut -c 1,4,7-11 facebookdata.csv | csvlook | head -n 50
Facebook 数据预览
Facebook 数据预览

csvcut 命令可用于提取指定的列(例如 1,4,7-11)。注意,我们没有预览第 2 和第 3 列(即 status_message 和 link_name),因为这两列内容较长,在当前预览窗口中无法完整显示!

想了解更多吗?

csvcut.txt

项目1:分析“美国新闻”大学排名数据

查找状态条目数量(使用 csvcut、sort、uniq)