携手创作,一起生长!这是我参加「日新计划 8 月更文应战」的第28天,点击检查活动概况
- 作者:韩信子@ShowMeAI
- 数据剖析实战系列:www.showmeai.tech/tutorials/4…
- 本文地址:www.showmeai.tech/article-det…
- 声明:版权所有,转载请联络渠道与作者并注明出处
- 收藏ShowMeAI检查更多精彩内容
ShowMeAI在本篇内容中整理了一个数据科学学习的根本项目,咱们会剖析世界各地的二氧化碳排放量,咱们能够看到二氧化碳排放的首要国家以及导致二氧化碳排放的不同来历。这也是『碳中和』大环境下咱们关怀的主题之一。
咱们能够运用本地的jupyter notebook来运转咱们下述代码,也能够运用 Google Colab 或 Kaggle notebook来运转(需要科学上网)。本项目运用的 owid co2 data数据集,咱们能够经过ShowMeAI的百度网盘下载获取。
实战数据集下载(百度网盘):公众号『ShowMeAI研究中心』回复『实战』,或者点击 这儿 获取本文 [23]碳中和背景下的二氧化碳排放数据剖析 『owid co2 data数据集』
⭐ ShowMeAI官方GitHub:github.com/ShowMeAI-Hu…
数据处理
数据剖析处理触及的东西和技能,欢迎咱们查阅ShowMeAI对应的教程和东西速查表,快学快用。
- 图解数据剖析:从入门到通晓系列教程
- 数据科学东西库速查表 | Pandas 速查表
- 数据科学东西库速查表 | Seaborn 速查表
首要,咱们将导入库:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import plotly.express as px
读取数据:
dataset = pd.read_csv('owid-co2-data.csv')
检查数据:
有两个核心的函数能够帮助咱们检查数据根本形状:
dataset.head() :显现数据集的前5行。 假如您想检查更多行,调整括号中数字即可。例如dataset.head(10)检查前10行
dataset.shape :显现数据集的行数和列数
咱们本次剖析的数据集有 25204 行和 58 列。
删去列:
咱们能够做一些数据处理,比方删去一些数据剖析中不适用的字段/列。
df = dataset.drop(columns=[ 'consumption co2','co2 growth _prect','co2 growth_abs' ])
df.head()
熟悉pandas的同学也知道,咱们也能够直接经过字段名选择需要剖析的字段,如下代码所示:
df1 = df[['country', 'year','co2','coal_co2','cement _co2', 'flaring_co2','gas_co2','oil _co2', 'other industry co2','methane', 'nitrous_oxide', 'population' ]]
df1
咱们能够经过pandas的条件选择来选取数据子集:
final df = df1[df1['year' ]>1995]
final df
能够经过isin等函数来框定类别型字段的取值,例如下述代码:
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
检查缺失值:
final_df.isnull().sum()
数据剖析&可视化
咱们将依据咱们的数据集制作图表并剖析一些成果。 咱们制作一下随时间线的co2排放趋势图:
px.line(dataset, x = 'year', y = 'co2', color='country')
咱们按照co2排放量为巨细制作散点图,如下
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)
选出各大洲的数据
continent_data = dataset[(dataset['country'].isin(['Europe', 'Africa', 'North America', 'South America', 'Oceania', 'Asia'])) & (dataset['co2'] > 0)]
continent_data
从各大洲来看的占比情况如下
px.pie(continent_data, names='country', values='co2')
下面,咱们将依据国家和 Co2 列制作饼图,看看哪些国家的 Co2 排放量最高。
px.pie(final_df, names='country', values='co2')
咱们能够看到我国、美国、印度都是首要的co2排放大国。假如咱们依据二氧化碳的来历进一步剖析并仅看 2020 年,那么咱们将得到以下成果:
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。 咱们针对这三个首要来历做一点绘图剖析,成果会更明晰:
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')
假如咱们选定美国进行进一步剖析:
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 排放的一些简单剖析和可视化,咱们能够根据上述数据与字段做进一步剖析。全球变暖是一个大问题,每个国家都在一起努力,营造更好的环境。
参考资料
- 图解数据剖析:从入门到通晓系列教程:www.showmeai.tech/tutorials/3…
- 数据科学东西库速查表 | Pandas 速查表:www.showmeai.tech/article-det…
- 数据科学东西库速查表 | Seaborn 速查表:www.showmeai.tech/article-det…