Python编程:从入门到实践
章节

第 16 章 下载数据

程序开始接触真实世界的数据文件和数据清洗

这一章用 CSV 等外部数据源让读者体验真实数据处理:获取、解析、清洗、展示。

章节主张

一旦面对真实数据文件,编程能力就会从语法练习升级为数据理解、清洗和结构转换能力。

中文释读

模拟数据和教材例子总归很干净,真正世界的数据却常常格式不统一、字段不完整、需要预处理。作者让你在这一章开始接触这种现实摩擦,是非常关键的训练。你会发现,所谓数据分析,前半程往往不是画图,而是把数据收拾到能画图、能比较、能解释的状态。

本章知识路线

  1. 真实数据会立刻暴露脚本练习从未暴露的问题
  2. 很多分析质量,其实取决于前面的清洗质量

关键论点

  • 外部数据处理会暴露格式和质量问题。
  • 数据清洗是可视化与分析的前置步骤。
  • 代码让数据处理过程可复现。

行动清单

  • 读数据前先看字段结构和缺失情况。
  • 把清洗逻辑写成显式步骤。
  • 清洗后再谈图表与结论。

源章节深读

第 16 章 下载数据 本章将从⽹上下载数据,并对其进⾏可视化。⽹上的数据多得令⼈难 以置信,其中⼤多未被仔细研究过。如果能够对这些数据进⾏分析, 就能发现别⼈没有发现的规律和关联。 我们将接触以两种常⻅格式( CSV 和 JSON )存储的数据并将其可视化。⾸ 先使⽤ Python 模块 csv 来处理以 CSV 格式存储的天⽓数据,找出两个截 然不同的地区在⼀段时间内的最⾼温度和最低温度。然后使⽤ Matplotlib 根 据下载的数据创建图形,展⽰这两个地区的温度变化。最后使⽤ json 模 块访问以 GeoJSON 格式存储的地震数据,并使⽤ Plotly 绘制⼀幅散点图, 展⽰这些地震的位置和强度。 阅读本章后,你将能够处理各种类型和格式的数据集,并对如何创建复杂 的图形有更深⼊的认识。要处理各种真实的数据集,必须能够访问并可视 化⽹络数据。 16.1 CSV ⽂件格式 要在⽂本⽂件中存储数据,最简单的⽅式是将数据组织为⼀系列以逗号分 隔的值( comma-separated values , CSV )并写⼊⽂件。这样的⽂件称为 CSV ⽂件。

16.1 CSV 文件格式

16.1 CSV ⽂件格式 要在⽂本⽂件中存储数据,最简单的⽅式是将数据组织为⼀系列以逗号分 隔的值( comma-separated values , CSV )并写⼊⽂件。这样的⽂件称为 CSV ⽂件。例如,下⾯是⼀⾏ CSV 格式的天⽓数据: "USW00025333","SITKA AIRPORT, AK US","2021-01-01",,"44","40" 这是美国阿拉斯加州锡特卡 2021 年 1 ⽉ 1 ⽇的天⽓数据,其中包含当天的 最⾼温度和最低温度,等等。

这节解决什么:这一节主要解决《第 16 章 下载数据》里一个更具体的子问题:16.1 CSV 文件格式 该怎样落到实际代码或项目动作上。

怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。

提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。

16.2 制作全球地震散点图:GeoJSON 格式

16.2 制作全球地震散点图: GeoJSON 格式 本节将⾸先下载⼀个数据集,其中记录了⼀个⽉内全球发⽣的所有地震, 然后制作⼀幅散点图,展⽰这些地震的位置和震级。这些数据是以 GeoJSON 格式(基于 JSON 的地理空间信息数据交换格式)存储的,因此 要使⽤ json 模块来处理。我们将使⽤ Plotly 来创建图形,清楚地指出全球 的地震分布情况。

这节解决什么:这一节主要解决《第 16 章 下载数据》里一个更具体的子问题:16.2 制作全球地震散点图:GeoJSON 格式 该怎样落到实际代码或项目动作上。

怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。

提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。

16.3 小结

16.3 ⼩结 在本章中,你学习了如何使⽤现实世界中的数据集,包括如何处理 CSV 和 GeoJSON ⽂件,以及如何提取感兴趣的数据。利⽤以往的天⽓数据,你更 深⼊地学习了如何使⽤ Matplotlib ,包括如何使⽤ datetime 模块,以及如 何在同⼀个图形中绘制多个数据系列。你还学习了如何使⽤ Plotly 绘制呈 现地震数据的散点图,以及如何定制散点图的样式。 有了使⽤ CSV 和 JSON ⽂件的经验后,你就⼏乎能够处理要分析的任何数 据了。

这节解决什么:这一节主要解决《第 16 章 下载数据》里一个更具体的子问题:16.3 小结 该怎样落到实际代码或项目动作上。

怎么用到自己的系统:不要只把它当书中的小节标题,最好把它改写成一个你能亲手运行、修改或调试的微练习。

提醒:常见误区是只看懂例子表面流程,却没有把这一节抽成自己能迁移的规则。

辨析题

为什么很多数据项目最花时间的不是分析,而是前处理?

本章图版学习路径

真实数据会立刻暴露脚本练习从未暴露的问题

很多分析质量,其实取决于前面的清洗质量