ホームページ  >  記事  >  バックエンド開発  >  パイソンを使った猫と犬のエミションCO

パイソンを使った猫と犬のエミションCO

WBOY
WBOYオリジナル
2024-09-03 10:40:45360ブラウズ

こんにちは、

ペットの排出量に関する小さな記事を見つけたので、存在しない場合は CO2 排出量を表示することにしました。

コード:
https://github.com/victordalet/Kaggle_analysis/tree/feat/dog_co2

出典:

  • https://www.lekaba.fr/article/l-empreinte-carbone-des-chiens-et-des-chats-un-amour-qui-pese-lourd-sur-le-climat

  • https://www.umweltbundesamt.de/en/image/global-f-gas-emissions-up-to-2050-total

  • https://www.rover.com/fr/blog/combien-y-a-t-il-de-chats-dans-le-monde/


I - データの取得

まず、世界の CO2 消費量、犬と猫の平均排出量、およびこれらのペットの数を推定するデータを取得します。

import plotly.express as px


class Main:
    def __init__(self):
        self.estimation = {
            "2005": 750,
            "2010": 900,
            "2020": 1300,
            "2030": 1800,
            "2040": 2700,
            "2050": 4000,
        }

        self.estimation_no_cat = {
            "2005": 750,
            "2010": 900,
            "2020": 1300,
            "2030": 1800,
            "2040": 2700,
            "2050": 4000,
        }

        self.estimation_no_dog = {
            "2005": 750,
            "2010": 900,
            "2020": 1300,
            "2030": 1800,
            "2040": 2700,
            "2050": 4000,
        }

        self.estimation_no_cat_and_dog = {
            "2005": 750,
            "2010": 900,
            "2020": 1300,
            "2030": 1800,
            "2040": 2700,
            "2050": 4000,
        }

        self.cat_emission = 240
        self.dog_emission = 358
        self.nb_cats = 600000000
        self.nb_dogs = 900000000

II - 変換

総排出量は数百万トン単位なので、kg 単位の動物データを変換する方法を作成しました。

    @staticmethod
    def transform_to_million_of_tonnes(value):
        return value / (1000000 * 1000)

III - 計算

猫や犬を含まずに推定値を変更するには、最初の推定値を調べて、他の辞書の値を最初のステップで見つかった値に置き換えます。

    def calculate(self):
        for year, value in self.estimation.items():
            self.estimation_no_cat[year] = value - self.transform_to_million_of_tonnes(
                self.cat_emission * self.nb_cats
            )
            self.estimation_no_dog[year] = value - self.transform_to_million_of_tonnes(
                self.dog_emission * self.nb_dogs
            )
            self.estimation_no_cat_and_dog[year] = (
                value
                - self.transform_to_million_of_tonnes(self.cat_emission * self.nb_cats)
                - self.transform_to_million_of_tonnes(self.dog_emission * self.nb_dogs)
            )

IV - 結果の表示

すべてのデータを含むグラフを表示するには、plotly ライブラリを使用します。

pip インストールのコード:

pip install plotly

3 つの推定値を表示するコード:

    def display(self):
        fig = px.line(
            x=list(self.estimation.keys()),
            y=[
                list(self.estimation.values()),
                list(self.estimation_no_cat.values()),
                list(self.estimation_no_dog.values()),
                list(self.estimation_no_cat_and_dog.values()),
            ],
            labels={
                "x": "Year",
                "y": "CO2 Emission (in million of tonnes)",
                "color": "Legend",
            },
            title="CO2 Emission with and without cats and dogs",
            color_discrete_map={
                "CO2 Emission": "blue",
                "CO2 Emission without cats": "green",
                "CO2 Emission without dogs": "red",
                "CO2 Emission without cats and dogs": "orange",
            },
        )
        fig.show()

これで、結果を示すグラフが完成しました。

Emmision COf a cat and a dog with python

以上がパイソンを使った猫と犬のエミションCOの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:itertools の発見次の記事:itertools の発見