754浏览
查看: 754|回复: 0

[教程] Python编程入门系列教程——12 二氧化碳浓度的变化情况探究

[复制链接]
本帖最后由 木子呢 于 2021-6-3 17:03 编辑

第十二课 二氧化碳浓度的变化情况探究

教程目录:

Hi,大家好,本期是《Python编程入门系列课程》连载的最后一期(共12课时),全部教程已完结。非常感谢一直在关注和学习该套教程的老师、同学们。
希望大家在学习的同时,也为我们的系列课程多多提出宝贵建议,针对大家提出的意见和想法,我们将会进行仔细评估和采纳,后续也将继续为大家提供更多系统化的教程和优质的课程~

动动小手扫码,说出您的想法哈

ThuJune-202106032436..png

一、学习背景

经过上节课的学习,我们了解了数据分析相关的概念、分类,也重点学习了回归分析法。本节课,我们依旧将结合python对数据进行处理与分析,来解决生活中的一些实际问题。

二、学习目标
本实践项目通过编写python程序来探究特定条件下空气中二氧化碳浓度的变化情况。

知识目标:
1、了解数据可视化的含义
2、掌握数据可视化常见的图表类型
3、掌握图表上基本功能的使用

技能目标:
1、掌握利用软件工具对数据进行可视化操作的方法

三、学习准备
1、电脑
2、mind+编程软件

1)数据可视化
    数据可视化指以图形、图像、动画等方式直观、生动地呈现数据及数据分析结果,揭示数据之间的关系、趋势和规律等,便于人们更好地理解数据。


2)数据可视化工具
python语言的matplotlib库是提供数据绘图功能的第三方扩展库,其ptplot子库主要用于实现各种数据图表的绘制,它不仅可以方便地制作基本的视觉元素(点、线、面)构成的图,如散点图、折线图、柱状图,还可以绘制多维热力图、box箱型图、hist直方图、pie饼图、area面积图等。

由matplotlib生成的图表可以有以下一些基础特征,

  • 画板figure,指画纸sublpot,可多图绘画
  • 标题title,用来给图形起名字
  • 坐标轴Axis,其中xlabel指x轴,ylabel指y轴
  • 图例Legend,指图表符号,是表达图表内容的一种形式和方法
  • 网格Grid,指图形中的虚线,可隐藏
  • 点Markers,线条line,可由图表生成相应的散点图、折线图等
  • 主要刻度Major tick,次要刻度minor tick,指图表中的刻度


ThuJune-202106039378..png ThuJune-202106038863..png

对于生成的图形,我们还可以对它进行特定的操作,图示如下,

ThuJune-202106036321..png

四、学习实践

ThuJune-202106032133..png

在本项目中,我们将分两步,来探究一下在特定的温度下,密闭空间内,空气中二氧化碳的浓度的变化情况是怎样的,与哪些因素有关。

1、探究密闭空间内二氧化碳浓度变化与时长的关系。
2、探究密闭空间内二氧化碳浓度变化与人数的关系。

ThuJune-202106033607..png

任务1:探究二氧化碳浓度变化与时长的关系

我们已经知道空气中二氧化碳的浓度会随着时间的增加而增高。那么在相同的背景条件下,浓度是不断均匀增加的吗,它的增速与时长有何关系呢?这里我们将对此进行探究。通过它,我们可以学习柱状图的绘制。为此,我们将分两步进行。首先是采集并整理数据,之后对数据进行可视化操作并分析数据。

1、数据采集与整理

在这个任务中,我们通过传感器检测了温度为20℃的晚上,在密闭房间内(无植物)人数分别为1,3,5的情况下二氧化碳浓度的数据情况,测得的数据我们保存在csv格式文件中。(见附录1)

为了避免人数对实验的影响,这里我们取人数为1时的数据,进而探究二氧化碳浓度与时长的关系。

2、数据可视化与分析

为了便于对数据进行读取和分析,我们依旧通过编写程序将采集整理好的数据以图表形式呈现出来。

这里我们将采用顺序结构的方式编写程序。具体流程如下:

ThuJune-202106037258..png

在正式编写程序代码之前,我们首先要创建一个项目文件及python程序文件。

STEP1:创建与保存项目文件
    启动Mind+,另存项目并命名为“二氧化碳浓度的变化情况探究”。

STEP2:创建与保存python文件
    创建一个python程序文件“任务一.py”,双击打开。

STEP3:导入数据文件“CO2浓度数据”(见附录1)

ThuJune-202106033866..png ThuJune-202106031553..png

STEP4:编写程序
  1. # -*- coding: utf-8 -*-
  2. importlib.pyplot as plt#导入matplotlib库中的函数集合
  3. CO2 = pd.read_csv("CO2浓度数据.csv",et pandas as pd#导入pandas库并用pd来表示
  4. import matploncoding='gb18030')#导入csv格式表格数据
  5. plt.rcParams['font.sans-serif'] = ['SimHei']#设置中文字体
  6. plt.title("二氧化碳浓度变化情况")#绘制标题
  7. plt.ylabel("二氧化碳浓度")#绘制x轴标签
  8. plt.xlabel("时间")#绘制y轴标签
  9. x_data=CO2.iloc[0:24:3,0]#选取表格第一列,人数为1的数据并设其为柱状图中的x轴
  10. y_data=CO2.iloc[0:24:3,2]#选取表格第三列,人数为1的数据并设其为柱状图中的y轴
  11. plt.bar(x_data,y_data)#绘制柱状图
  12. plt.show()#显示图像
复制代码

STEP5:运行程序并分析数据

运行程序,我们看到csv表格中的数据以柱状图的形式呈现了出来。

ThuJune-202106033099..png

观察图表并分析数据,我们发现,开始时空气中二氧化碳浓度在500ppm(百万分比浓度),随后每隔一个小时,浓度确实都在不断增高,但速度不同,前期时单位时间内的浓度增速较快,后期则相对较慢。因此,通过上图我们可以得出,在相同条件下的密闭空间中,二氧化碳浓度并不是均匀增高的,时间越久,增速越低。

ThuJune-202106037963..png

ThuJune-202106039439..png

任务2:探究二氧化碳浓度变化与人数的关系

在这个任务中,我们将探究密闭空间中二氧化碳浓度与人数之间的关系。通过它,我们可以学习折线图的绘制。由于用到的数据文件不变,因此,我们主要进行数据可视化和分析即可。

1、数据可视化与分析
    为了便于对数据进行读取和分析,我们通过编写程序将采集整理好的数据以折线图形式呈现出来。
    这里我们将采用顺序结构的方式编写程序。具体流程如下,

ThuJune-202106032364..png

STEP1:创建与保存python文件
    创建一个python程序文件“任务二.py”,双击打开。

STEP2:编写程序
  1. # -*- coding: utf-8 -*-
  2. import pandas as pd#导入pandas库并用pd来表示
  3. import matplotlib.pyplot as plt#导入matplotlib库中的函数集合
  4. CO2 = pd.read_csv("CO2浓度数据.csv",encoding='gb18030')#导入csv格式表格数据
  5. plt.rcParams['font.sans-serif'] = ['SimHei']#设置中文字体
  6. plt.title("不同人数下二氧化碳浓度情况")#绘制标题
  7. plt.ylabel("二氧化碳浓度")#绘制x轴标签
  8. plt.xlabel("时间")#绘制y轴标签
  9. x_data=CO2.iloc[0:24:3,0]
  10. y_data=CO2.iloc[0:24:3,2]
  11. x_data1=CO2.iloc[1:24:3,0]
  12. y_data1=CO2.iloc[1:24:3,2]
  13. x_data2=CO2.iloc[2:24:3,0]
  14. y_data2=CO2.iloc[2:24:3,2]
  15. plt.plot(x_data,y_data,color='red',label="人数为1",linewidth=2.0,linestyle='--')#绘制折线,并设置折线的颜色、标签、线宽和线型
  16. plt.plot(x_data1,y_data1,color='blue',label="人数为3",linewidth=2.0,linestyle='--')
  17. plt.plot(x_data2,y_data2,color='yellow',label="人数为5",linewidth=2.0,linestyle='--')
  18. plt.legend()#显示图例
  19. plt.show()#显示图像
复制代码

STEP3:运行程序并分析数据

(1)运行程序,我们看到csv表格中的数据以图表的形式呈现了出来。

ThuJune-202106039288..png

(2)观察上图,我们可以清楚地发现,在同一时间点,人数越多,二氧化碳浓度也越高。

(3)放大0-1和6-7时间段

ThuJune-202106038606..png

ThuJune-202106038830..png ThuJune-202106034648..png

从上图中可以发现,前期人数对浓度的影响程度大于后期。

ThuJune-202106032712..png

五、巩固提高

项目回顾

本节课我们首先探究了二氧化碳浓度变化与时长的关系,之后探究了人数对它的影响。经过对图表数据的可视化操作及分析,我们得出结果,随着时间的增加,密闭房间内空气中二氧化碳浓度并不是均匀增加的,并且人数的增多也会使浓度增高。

知识小结
1、数据可视化的含义
2、常见的可视化图表:散点图、折线图、柱状图等

项目拓展
尝试将表格中人数为3和5情况下的数据以柱形图的形式呈现出来吧!

附录
附录1
数据文件
链接:https://pan.baidu.com/s/1Nxb3R30V5drDkacPjBgcWA
提取码:khje

附录2
ThuJune-202106038470..png




附件.zip

166.6 KB, 下载次数: 34

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2021 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail