
作者:俊欣
來源:關(guān)于數(shù)據(jù)分析與可視化
“碳達(dá)峰、碳中和”是2021年政府在不斷強(qiáng)調(diào)與非常重視的事兒,那什么是“碳達(dá)峰”、什么又是“碳中和”呢?這里小編來為大家科普一下,所謂的“碳達(dá)峰”指的是在某一時(shí)間點(diǎn),二氧化碳的排放不再達(dá)到峰值,之后逐步回落。
而“碳中和”也就意味著企業(yè)、個(gè)體與團(tuán)體在一定時(shí)間內(nèi)直接或間接產(chǎn)生的溫室氣體排放總量,通過植樹造林、節(jié)能減排等形式,抵消自身產(chǎn)生的二氧化碳排放,實(shí)現(xiàn)二氧化碳的“零排放”。
今天小編就用Python來制作一張可視化大屏,讓大家來感受一下近百年來二氧化碳排放的趨勢以及給我們所居住的環(huán)境造成了什么樣的影響。
本地可視化大屏中引用的數(shù)據(jù)來自于由英國牛津大學(xué)知名教授創(chuàng)辦的網(wǎng)站“用數(shù)據(jù)看世界(Our World in Data”,里面收入了各個(gè)學(xué)科的數(shù)據(jù),包括衛(wèi)生、食品、收入增長和分配、能源、教育、環(huán)境等行業(yè)進(jìn)行了分析與可視化展示,十分地全面,并且當(dāng)中的元數(shù)據(jù)開放在Github當(dāng)中
我們導(dǎo)入需要用到的模塊
import streamlit as st import plotly.express as px import pandas as pd
我們這次是用到streamlit模塊來制作可視化大屏,該模塊是基于Python的可視化工具,最初開發(fā)出來的目的是給機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)團(tuán)隊(duì)使用的。同時(shí)我們用plotly.express模塊來繪制各種圖表,因此圖表是具備交互性的,pandas模塊來讀取數(shù)據(jù)
@st.cache def get_data(): url_1 = 'https://raw.githubusercontent.com/owid/owid-datasets/master/datasets/Climate%20change%20impacts/Climate%20change%20impacts.csv' url_2 = "https://github.com/owid/co2-data/raw/master/owid-co2-data.csv" df_1 = pd.read_csv(url_1) df_1_1 = df_1.query("Entity == 'World' and Year <=2021") df_2 = pd.read_csv(url_2) return df_1_1, df_2
然后我們來制作整個(gè)可視化大屏,首先我們先確認(rèn)好可視化大屏的布局,如下圖所示
然后我們針對(duì)每一篇布局來編寫代碼,首先看到的是標(biāo)題部分,我們通過streamlit模塊當(dāng)中的markdown方法來實(shí)現(xiàn)即可
st.markdown()
然后根據(jù)上面的布局設(shè)計(jì),我們這么來編寫代碼
col2, space2, col3 = st.columns((10,1,10)) with col2: year = st.slider('選擇年份',1750,2020) ... with col3: ... selected_countries = st.multiselect('選擇國家',countries,default_countries) ... col4, space3, col5, space4, col6 = st.columns((10,1,10,1,10)) with col4: st.markdown("""## 二氧化碳和全球變暖之間的關(guān)系""") with col5: st.subheader(" 副標(biāo)題一 ") ... with col6: st.subheader(" 副標(biāo)題二 ") ...
我們這里使用columns方法來將頁面均勻的分成若干列,并且給定特定的寬度,當(dāng)然每列之間還需要留一點(diǎn)空隙,從美觀程度上來考慮,因此才有了變量space對(duì)應(yīng)的是寬度1的空隙
col2, space2, col3 = st.columns((10,1,10))
然后我們針對(duì)分割開來的每個(gè)區(qū)域進(jìn)行圖表的繪制,例如左上方的世界地圖,我們用plotly.express當(dāng)中的choropleth方法來繪制,另外我們添加了時(shí)間軸,通過調(diào)用streamlit模塊當(dāng)中的slider方法來實(shí)現(xiàn)
with col2: year = st.slider('選擇時(shí)間', 1750, 2020) fig = px.choropleth(df_co2[df_co2['year'] == year], locations="iso_code", color="co2_per_capita", hover_name="country", range_color=(0, 25), color_continuous_scale=px.colors.sequential.Reds) st.plotly_chart(fig, use_container_width=True)
而例如右上方的折線圖,同樣也是調(diào)用plotly.express模塊來實(shí)現(xiàn)的,其中多選框則是調(diào)用了streamlit模塊當(dāng)中的multiselect方法,代碼如下
with col3: default_countries = ['World', 'United States', 'United Kingdom', 'EU-27', 'China', 'Canada'] countries = df_co2['country'].unique() selected_countries = st.multiselect('選擇國家或者區(qū)域性組織', countries, default_countries) df3 = df_co2.query('country in @selected_countries') fig2 = px.line(df3, "year", "co2_per_capita", color="country") st.plotly_chart(fig2, use_container_width=True)
最后的成品如下圖所示:
從上面繪制的圖表中我們能夠看到的是,美國以及加拿大這兩國家二氧化碳的排放量一直都很高,超過了包括歐盟、英國以及中國在內(nèi)的主要經(jīng)濟(jì)體。當(dāng)然近些年各個(gè)國家的政府也對(duì)該問題相當(dāng)?shù)闹匾暎朴喠讼鄬?duì)應(yīng)的節(jié)能減排的應(yīng)對(duì)措施。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實(shí)戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動(dòng)態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價(jià)值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實(shí)戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時(shí),“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗(yàn)與 t 檢驗(yàn):差異、適用場景與實(shí)踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計(jì)學(xué)領(lǐng)域,假設(shè)檢驗(yàn)是驗(yàn)證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲(chǔ)的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計(jì)劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計(jì)劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對(duì)象的 text 與 content:區(qū)別、場景與實(shí)踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(shí)(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價(jià)值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對(duì)比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點(diǎn)數(shù)據(jù)的科學(xué)計(jì)數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點(diǎn)數(shù)據(jù)時(shí)的科學(xué)計(jì)數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價(jià)值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價(jià)值 ...
2025-09-12用 SQL 驗(yàn)證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實(shí)戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計(jì)” 與 “用戶體驗(yàn) ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動(dòng)下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價(jià)值 在數(shù)據(jù)驅(qū)動(dòng)決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實(shí)踐到業(yè)務(wù)價(jià)值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計(jì)模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價(jià)值導(dǎo)向 統(tǒng)計(jì)模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10