首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
36 篇文章
1
数据分析大作战,SQL V.S. Python,来看看这些考题你都会吗 ⛵
2
数据科学手把手:碳中和下的二氧化碳排放分析 ⛵
3
面试现场!月薪3w+的这些数据挖掘SQL面试题你都掌握了吗? ⛵
4
员工离职困扰?来看AI如何解决,基于人力资源分析的 ML 模型构建全方案 ⛵
5
AI 音辨世界:艺术小白的我,靠这个AI模型,速识音乐流派选择音乐 ⛵
6
数据专家最常使用的 10 大类 Pandas 函数 ⛵
7
钻石价格预测的ML全流程!从模型构建调优道部署应用!⛵
8
掌握这9个单行代码技巧!你也能写出『高端』Python代码 ⛵
9
刘畊宏男孩女孩看过来!运动数据分析挖掘!⛵
10
二手车价格预测 | 构建AI模型并部署Web应用 ⛵
11
看看你离世界一流大厂有多远?3道Google最新SQL面试题 ⛵
12
客户流失?来看看大厂如何基于spark+机器学习构建千万数据规模上的用户留存模型 ⛵
13
再见 Excel,你好 Python Spreadsheets! ⛵
14
羡慕 Excel 的高级选择与文本框颜色呈现?Pandas 也可以拥有!! ⛵
15
2022了你还不会『低代码』?数据科学也能玩转Low-Code啦! ⛵
16
Pandas数据显示不全?快来了解这些设置技巧! ⛵
17
一键自动化数据分析!快来看看 2022 年最受欢迎的 Python 宝藏工具库! ⛵
18
羡慕实时数据看板?来看看Python的交互数据分析可视化工具!
19
自动化运维?看看Python怎样完成自动任务调度⛵
20
森林野火故事2.0:一眼看穿!使用 Panel 和 hvPlot 可视化 ⛵
21
异常值检测!最佳统计方法实践(代码实现)!⛵
22
大数据开发!Pandas转spark无痛指南!⛵
23
还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
24
业务数据分析最佳案例!旅游业数据分析!⛵
25
Pandas中你一定要掌握的时间序列相关高级功能 ⛵
26
求职指南!给数据开发的SQL面试准备路径!⛵
27
Python中内置数据库!SQLite使用指南! ⛵
28
私藏!资深数据专家SQL效率优化技巧 ⛵
29
Pandas太慢?快使用Vaex DataFrame,每秒数亿数据算起来 ⛵
30
高手系列!数据科学家私藏pandas高阶用法大全 ⛵
31
『航班乘客满意度』场景数据分析建模与业务归因解释 ⛵
32
数据科学家赚多少?基于pandasql和plotly的薪资分析与可视化 ⛵
33
深度解析数据清理和特征工程!5本面向数据科学家的顶级书籍推荐 ⛵
34
就离谱!使用机器学习预测2022世界杯:小组赛挺准,但冠亚季军都错了 ⛵
35
百倍加速IO读写!快使用Parquet和Feather格式!⛵
36
交互式仪表板!Python轻松完成!⛵

数据科学手把手:碳中和下的二氧化碳排放分析 ⛵

气候是全球性的话题,本文基于owid co2数据集,分析了世界各地的二氧化碳排放量,并将二氧化碳排放的主要国家以及二氧化碳排放来源进行了可视化。

💡 作者:韩信子@ShowMeAI

📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40

📘 本文地址:https://www.showmeai.tech/article-detail/322

📢 声明:版权所有,转载请联系平台与作者并注明出处

📢 收藏ShowMeAI查看更多精彩内容

ShowMeAI在本篇内容中整理了一个数据科学学习的基本项目,我们会分析世界各地的二氧化碳排放量,我们可以看到二氧化碳排放的主要国家以及导致二氧化碳排放的不同来源。这也是『碳中和』大环境下大家关心的主题之一。

大家可以使用本地的jupyter notebook来运行我们下述代码,也可以使用 Google Colab 或 Kaggle notebook来运行(需要访问国外网站)。本项目使用的 🏆owid co2 data数据集,大家可以通过ShowMeAI的百度网盘下载获取。

🏆 实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这获取本文 [23]碳中和背景下的二氧化碳排放数据分析 『owid co2 data数据集』

ShowMeAI官方GitHubhttps://github.com/ShowMeAI-Hub

💡 数据处理

数据分析处理涉及的工具和技能,欢迎大家查阅ShowMeAI对应的教程和工具速查表,快学快用。

图解数据分析:从入门到精通系列教程 数据科学工具库速查表 | Pandas 速查表 数据科学工具库速查表 | Seaborn 速查表

首先,我们将导入库:

代码语言:python
复制
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px

读取数据:

代码语言:python
复制
dataset = pd.read_csv('owid-co2-data.csv')

查看数据:

有两个核心的函数可以帮助我们查看数据基本形态:

代码语言:txt
复制
dataset.head() :显示数据集的前5行。 如果您想查看更多行,调整括号中数字即可。例如dataset.head(10)查看前10行 
dataset.shape :显示数据集的行数和列数 

我们本次分析的数据集有 25204 行和 58 列。

删除列:

我们可以做一些数据处理,比如删除一些数据分析中不适用的字段/列。

代码语言:python
复制
df = dataset.drop(columns=[ 'consumption co2','co2 growth _prect','co2 growth_abs' ])
df.head()

熟悉pandas的同学也知道,我们也可以直接通过字段名选择需要分析的字段,如下代码所示:

代码语言:python
复制
df1 = df[['country', 'year','co2','coal_co2','cement _co2', 'flaring_co2','gas_co2','oil _co2', 'other industry co2','methane', 'nitrous_oxide', 'population' ]]
df1

我们可以通过pandas的条件选择来选取数据子集:

代码语言:python
复制
final df = df1[df1['year' ]>1995]
final df

可以通过isin等函数来框定类别型字段的取值,例如下述代码:

代码语言:python
复制
final_df = final_df[(final_df['country'].isin(['United States', 'Africa', 'Antartica','South Korea', 'Bangladesh', 'Canada', 'Germany', 'Brazil', 'Argentina','Japan', 'India', 'United Kingdom', 'Saudi Arabia', 'China', 'Australia','Russia']) & (final_df['co2'] > 0))]
final_df

检查缺失值:

代码语言:python
复制
final_df.isnull().sum()

💡 数据分析&可视化

我们将根据我们的数据集绘制图表并分析一些结果。 我们绘制一下随时间线的co2排放趋势图:

代码语言:python
复制
px.line(dataset, x = 'year', y = 'co2', color='country')

我们按照co2排放量为大小绘制散点图,如下

代码语言:python
复制
px.scatter(dataset[dataset['year']==2019], x="co2_per_capita", y="energy_per_capita", size="co2", color="country", hover_name="country", log_x=True, size_max=60)

选出各大洲的数据

代码语言:python
复制
continent_data =  dataset[(dataset['country'].isin(['Europe', 'Africa', 'North America', 'South America', 'Oceania', 'Asia'])) & (dataset['co2'] > 0)]
continent_data

从各大洲来看的占比情况如下

代码语言:python
复制
px.pie(continent_data, names='country', values='co2')

下面,我们将根据国家和 Co2 列绘制饼图,看看哪些国家的 Co2 排放量最高。

代码语言:python
复制
px.pie(final_df, names='country', values='co2')

我们可以看到中国、美国、印度都是主要的co2排放大国。如果我们根据二氧化碳的来源进一步分析并仅看 2020 年,那么我们将得到以下结果:

代码语言:python
复制
final df 2020 = final _df[(final_df[ 'year' ]==2020) ]
final df 2020
final df 2020[['country','coal_co2','cement_co2','flaring _co2','gas_co2', 'oil _co2','other_ industry co2']].plot(x='country', kind='bar',figsize=(9,5),width=0.9)
plt.title(‘'2020 CO2 consumption')
plt.xlabel('Countries' )
plt.ylabel('CO2 measured in million tonnes')

上面的结果中,我们可以看到,三个主要的 Co2 来源是 coal_co2、oil_co2 和 gas_co2。 我们针对这三个主要来源做一点绘图分析,结果会更清晰:

代码语言:python
复制
final_df_2020[(['country','coal_co2','gas_co2','o0il_co2')].plot(x='country', kind='bar' ,figsize=(9,5),width=0.9)
plt.title('2020 CO2 consumption')
plt.xlabel('Countries')
plt.ylabel('CO2 measured in million tonnes')

如果我们选定美国进行进一步分析:

代码语言:python
复制
final_df_US = final_df[(final_df['country']=='United States']

final_df_US[['year','coal_co2','gas_co2','0il_co2']].plot(x='year', kind='bar',figsize=(10,6),width=0.9)
plt.title('1996 onwards CO2 emission in United States')

plt.xlabel('Year' )
plt.ylabel(‘'CO2 measured in million tonnes')

图例显示,在美国,coal_co2 和 oil_co2 随着时间的推移而减少,但 gas_co2 多年来一直在增加。

💡 总结

全球气候是全世界都很关心的主题,本篇内容是 Co2 排放的一些简单分析和可视化,大家可以基于上述数据与字段做进一步分析。全球变暖是一个大问题,每个国家都在共同努力,营造更好的环境。

参考资料

下一篇
举报
领券