关于“Python”的核心知识点整理大全46

这篇具有很好参考价值的文章主要介绍了关于“Python”的核心知识点整理大全46。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

目录

16.1.3 提取并读取数据

highs_lows.py

highs_lows.py

16.1.4 绘制气温图表

highs_lows.py

16.1.5 模块 datetime

​编辑

16.1.6 在图表中添加日期

highs_lows.py

16.1.7 涵盖更长的时间

highs_lows.py

highs_lows.py

16.1.9 给图表区域着色

highs_lows.py

往期快速传送门👆(在文章最后):

感谢大家的支持!欢迎订阅收藏!专栏将持续更新!


关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.3 提取并读取数据

知道需要哪些列中的数据后,我们来读取一些数据。首先读取每天的最高气温:

highs_lows.py
import csv
# 从文件中获取最高气温
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
 reader = csv.reader(f)
 header_row = next(reader)
1 highs = []
2 for row in reader:
3 highs.append(row[1])
 print(highs)

我们创建了一个名为highs的空列表(见1),再遍历文件中余下的各行(见2)。阅读器对象 从其停留的地方继续往下读取CSV文件,每次都自动返回当前所处位置的下一行。由于我们已经 读取了文件头行,这个循环将从第二行开始——从这行开始包含的是实际数据。每次执行该循环 时,我们都将索引1处(第2列)的数据附加到highs末尾(见3)。 下面显示了highs现在存储的数据:

['64', '71', '64', '59', '69', '62', '61', '55', '57', '61', '57', '59', '57',
 '61', '64', '61', '59', '63', '60', '57', '69', '63', '62', '59', '57', '57',
 '61', '59', '61', '61', '66']

我们提取了每天的最高气温,并将它们作为字符串整洁地存储在一个列表中。 下面使用int()将这些字符串转换为数字,让matplotlib能够读取它们:

highs_lows.py
--snip--
 highs = []
 for row in reader:
1 high = int(row[1])
 highs.append(high)
 print(highs) 

在1处,我们将表示气温的字符串转换成了数字,再将其附加到列表末尾。这样,最终的列 表将包含以数字表示的每日最高气温:

[64, 71, 64, 59, 69, 62, 61, 55, 57, 61, 57, 59, 57, 61, 64, 61, 59, 63, 60, 57,
 69, 63, 62, 59, 57, 57, 61, 59, 61, 61, 66] 

下面来对这些数据进行可视化。

16.1.4 绘制气温图表

为可视化这些气温数据,我们首先使用matplotlib创建一个显示每日最高气温的简单图形,如 下所示:

highs_lows.py
import csv
from matplotlib import pyplot as plt
# 从文件中获取最高气温
--snip--
# 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
1 plt.plot(highs, c='red')
# 设置图形的格式
2 plt.title("Daily high temperatures, July 2014", fontsize=24)
3 plt.xlabel('', fontsize=16)
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show() 

我们将最高气温列表传给plot()(见1),并传递c='red'以便将数据点绘制为红色(红色显 示最高气温,蓝色显示最低气温)。接下来,我们设置了一些其他的格式,如字体大小和标签(见 2),这些都在第15章介绍过。鉴于我们还没有添加日期,因此没有给x轴添加标签,但plt.xlabel() 确实修改了字体大小,让默认标签更容易看清。图16-1显示了绘制的图表:一个简单的折线图, 显示了阿拉斯加锡特卡2014年7月每天的最高气温。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.5 模块 datetime

下面在图表中添加日期,使其更有用。在天气数据文件中,第一个日期在第二行:

2014-7-1,64,56,50,53,51,48,96,83,58,30.19,--snip-- 

读取该数据时,获得的是一个字符串,因为我们需要想办法将字符串'2014-7-1'转换为一个 表示相应日期的对象。为创建一个表示2014年7月1日的对象,可使用模块datetime中的方法 strptime()。我们在终端会话中看看strptime()的工作原理:

>>> from datetime import datetime
>>> first_date = datetime.strptime('2014-7-1', '%Y-%m-%d')
>>> print(first_date)
2014-07-01 00:00:00

我们首先导入了模块datetime中的datetime类,然后调用方法strptime(),并将包含所需日 期的字符串作为第一个实参。第二个实参告诉Python如何设置日期的格式。在这个示例中,'%Y-' 让Python将字符串中第一个连字符前面的部分视为四位的年份;'%m-'让Python将第二个连字符前 面的部分视为表示月份的数字;而'%d'让Python将字符串的最后一部分视为月份中的一天 (1~31)。 方法strptime()可接受各种实参,并根据它们来决定如何解读日期。表16-1列出了其中一些 这样的实参。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.6 在图表中添加日期

知道如何处理CSV文件中的日期后,就可对气温图形进行改进了,即提取日期和最高气温, 并将它们传递给plot(),如下所示:

highs_lows.py
import csv
from datetime import datetime
from matplotlib import pyplot as plt
# 从文件中获取日期和最高气温
filename = 'sitka_weather_07-2014.csv'
with open(filename) as f:
 reader = csv.reader(f)
 header_row = next(reader)
1 dates, highs = [], []
for row in reader:
2 current_date = datetime.strptime(row[0], "%Y-%m-%d")
 dates.append(current_date) 
 high = int(row[1])
 highs.append(high)
# 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
3 plt.plot(dates, highs, c='red')
# 设置图形的格式
plt.title("Daily high temperatures, July 2014", fontsize=24)
plt.xlabel('', fontsize=16)
4 fig.autofmt_xdate()
plt.ylabel("Temperature (F)", fontsize=16)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show() 

我们创建了两个空列表,用于存储从文件中提取的日期和最高气温(见1)。然后,我们将 包含日期信息的数据(row[0])转换为datetime对象(见2),并将其附加到列表dates末尾。在 3处,我们将日期和最高气温值传递给plot()。在处,我们调用了fig.autofmt_xdate()来绘制 斜的日期标签,以免它们彼此重叠。图16-2显示了改进后的图表。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.7 涵盖更长的时间

设置好图表后,我们来添加更多的数据,以成一幅更复杂的锡特卡天气图。请将文件 sitka_weather_2014.csv复制到存储本章程序的文件夹中,该文件包含Weather Underground提供的 整年的锡特卡天气数据。

现在可以创建覆盖整年的天气图了:

highs_lows.py
--snip--
# 从文件中获取日期和最高气温
1 filename = 'sitka_weather_2014.csv'
with open(filename) as f:
--snip--
# 设置图形的格式
2 plt.title("Daily high temperatures - 2014", fontsize=24)
plt.xlabel('', fontsize=16)
--snip--

我们修改了文件名,以使用新的数据文件sitka_weather_2014.csv(见1);我们还修改了图表 的标题,以反映其内容的变化(见2)。图16-3显示了生成的图形。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.8 再绘制一个数据系列

图16-3所示的改进后的图表显示了大量意义深远的数据,但我们可以在其中再添加最低气温 数据,使其更有用。为此,需要从数据文件中提取最低气温,并将它们添加到图表中,如下所示:

highs_lows.py
--snip--
# 从文件中获取日期、最高气温和最低气温
filename = 'sitka_weather_2014.csv'
with open(filename) as f:
 reader = csv.reader(f)
 header_row = next(reader)
1 dates, highs, lows = [], [], []
for row in reader:
 current_date = datetime.strptime(row[0], "%Y-%m-%d")
 dates.append(current_date)
 high = int(row[1])
 highs.append(high)
2 low = int(row[3])
 lows.append(low)
# 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
3 plt.plot(dates, highs, c='red')
 plt.plot(dates, lows, c='blue')
# 设置图形的格式
4 plt.title("Daily high and low temperatures - 2014", fontsize=24)
--snip

在1处,我们添加了空列表lows,用于存储最低气温。接下来,我们从每行的第4列(row[3]) 提取每天的最低气温,并存储它们(见2)。在3处,我们添加了一个对plot()的调用,以使用蓝 色绘制最低气温。最后,我们修改了标题(见4)。图16-4显示了这样绘制出来的图表。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

16.1.9 给图表区域着色

添加两个数据系列后,我们就可以了解每天的气温范围了。下面来给这个图表做最后的修饰, 通过着色来呈现每天的气温范围。为此,我们将使用方法fill_between(),它接受一个x值系列和 两个y值系列,并填充两个y值系列之间的空间:

highs_lows.py
--snip--
# 根据数据绘制图形
fig = plt.figure(dpi=128, figsize=(10, 6))
1 plt.plot(dates, highs, c='red', alpha=0.5)
plt.plot(dates, lows, c='blue', alpha=0.5)
2 plt.fill_between(dates, highs, lows, facecolor='blue', alpha=0.1)
--snip--

1处的实参alpha指定颜色的透明度。Alpha值为0表示完全透明,1(默认设置)表示完全不 透明。通过将alpha设置为0.5,可让红色和蓝色折线的颜色看起来更浅。

在2处,我们向fill_between()传递了一个x值系列:列表dates,还传递了两个y值系列:highs 和lows。实参facecolor指定了填充区域的颜色,我们还将alpha设置成了较小的值0.1,让填充区 域将两个数据系列连接起来的同时不分散观察者的注意力。图16-5显示了最高气温和最低气温之 间的区域被填充的图表。

关于“Python”的核心知识点整理大全46,python,开发语言,javascript,笔记

通过着色,让两个数据集之间的区域显而易见。


关于“Python”的核心知识点整理大全37-CSDN博客

关于“Python”的核心知识点整理大全25-CSDN博客

关于“Python”的核心知识点整理大全12-CSDN博客文章来源地址https://www.toymoban.com/news/detail-764664.html

往期快速传送门👆(在文章最后):

感谢大家的支持!欢迎订阅收藏!专栏将持续更新!

到了这里,关于关于“Python”的核心知识点整理大全46的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于“Python”的核心知识点整理大全23

    目录 ​编辑 第10 章 文件和异常 10.1 从文件中读取数据 10.1.1 读取整个文件 pi_digits.txt file_reader.py 10.1.2 文件路径 10.1.3 逐行读取 file_reader.py 10.1.4 创建一个包含文件各行内容的列表 10.1.5 使用文件的内容 pi_string.py 往期快速传送门👆(在文章最后): 感谢大家的支持!欢迎订

    2024年02月03日
    浏览(53)
  • 关于“Python”的核心知识点整理大全45

    目录 15.4.6 绘制直方图 die_visual.py 注意 15.4.7 同时掷两个骰子 dice_visual.py 15.4.8 同时掷两个面数不同的骰子 different_dice.py 15.5 小结 第 16 章 16.1 CSV 文件格式 16.1.1 分析 CSV 文件头 highs_lows.py 注意 16.1.2 打印文件头及其位置 highs_lows.py 往期快速传送门👆(在文章最后): 感谢大家

    2024年02月04日
    浏览(37)
  • 关于“Python”的核心知识点整理大全64

    目录 20.2.15 确保项目的安全 settings.py 20.2.16 提交并推送修改 20.2.17 创建自定义错误页面 1. 创建自定义模板 500.html settings.py settings.py 注意 views.py 20.2.18 继续开发 往期快速传送门👆(在文章最后): 感谢大家的支持!欢迎订阅收藏!专栏将持续更新! 当前,我们部署的项目存

    2024年02月03日
    浏览(78)
  • 关于“Python”的核心知识点整理大全21

    在Python 2.7中,继承语法稍有不同,ElectricCar类的定义类似于下面这样: 函数super()需要两个实参:子类名和对象self。为帮助Python将父类和子类关联起来,这些 实参必不可少。另外,在Python 2.7中使用继承时,务必在定义父类时在括号内指定object。 9.3.3 给子类定义属性和方法

    2024年01月16日
    浏览(41)
  • 关于“Python”的核心知识点整理大全29

    目录 11.2.4 方法 setUp() 注意 11.3 小结 第二部分 项目1 外星人入侵 第12 章 武装飞船 注意 12.1 规划项目 12.2 安装 Pygame 注意 12.2.1 使用 pip 安装 Python 包 注意 如果你启动终端会话时使用的是命令python3,那么在这里应使用命令sudo python3 get-pip.py。 12.2.2 在 Linux 系统中安装 Pygame 往

    2024年02月04日
    浏览(27)
  • 关于“Python”的核心知识点整理大全63

    目录 20.2.11 使用 Git 跟踪项目文件 1. 安装Git 2. 配置Git 3. 忽略文件 .gitignore 注意 4. 提交项目 20.2.12 推送到 Heroku 注意 20.2.13 在 Heroku 上建立数据库 20.2.14 改进 Heroku 部署 1. 在Heroku上创建超级用户 注意 注意 如果你阅读完了第17章,就知道Git是一个版本控制程序,让你能够在每次

    2024年01月25日
    浏览(34)
  • 关于“Python”的核心知识点整理大全37

    目录 13.6.2 响应外星人和飞船碰撞 game_stats.py settings.py alien_invasion.py game_functions.py ship.py 注意 13.6.3 有外星人到达屏幕底端 game_functions.py 13.6.4 游戏结束 game_stats.py game_functions.py 13.7 确定应运行游戏的哪些部分 alien_invasion.py 13.8 小结 第14 章 记 分 14.1 添加 Play 按钮 game_stats.py 往

    2024年02月04日
    浏览(42)
  • 关于“Python”的核心知识点整理大全13

    目录 6.4.3 在字典中存储字典 6.5 小结 第7章 用户输入和while循环 7.1 函数 input()的工作原理 7.1.1 编写清晰的程序 7.1.2 使用 int()来获取数值输入 7.1.3 求模运算符 7.1.4 在 Python 2.7 中获取输入 7.2 while 循环简介 7.2.1 使用 while 循环 往期快速传送门👆(在文章最后): 6.4.3 在字典中

    2024年02月04日
    浏览(50)
  • 关于“Python”的核心知识点整理大全38

    由于Pygame没有内置创建按钮的方法,我们创建一个Button类,用于创建带标签的实心矩形。 你可以在游戏中使用这些代码来创建任何按钮。下面是Button类的第一部分,请将这个类保存为 文件button.py: button.py 首先,我们导入了模块pygame.font,它让Pygame能够将文本渲染到屏幕上。

    2024年02月03日
    浏览(61)
  • 关于“Python”的核心知识点整理大全48

    目录 world_population.py 16.2.5 制作世界地图 americas.py 16.2.6 在世界地图上呈现数字数据 na_populations.py 16.2.7 绘制完整的世界人口地图 world_population.py 16.2.8 根据人口数量将国家分组 world_population.py 16.2.9 使用 Pygal 设置世界地图的样式 world_population.py 往期快速传送门👆(在文章最后)

    2024年01月23日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包