Maison  >  Article  >  développement back-end  >  Émission CO d'un chat et d'un chien avec python

Émission CO d'un chat et d'un chien avec python

WBOY
WBOYoriginal
2024-09-03 10:40:45358parcourir

Bonjour,

J'ai trouvé un petit article qui parle des émissions des animaux de compagnie, j'ai donc décidé d'afficher les émissions de CO2 si elles n'existent pas.

Code :
https://github.com/victordalet/Kaggle_analysis/tree/feat/dog_co2

Sources :

  • 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 - Obtenir des données

Dans un premier temps, j'obtiens des données estimant la consommation mondiale de CO2, l'émission moyenne d'un chien et d'un chat, ainsi que le nombre de ces animaux de compagnie.

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 - Transformations

L'émission totale est en millions de tonnes, j'ai donc créé une méthode pour convertir les données animales, qui sont en kg.

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

III - Calculer

Pour modifier l'estimation sans chat ni chien, parcourez la première estimation et remplacez les valeurs des autres dictionnaires par les valeurs trouvées dans la première étape.

    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 - Afficher le résultat

Pour afficher un graphique avec toutes les données, j'utilise la bibliothèque plotly.

Code pour l'installation du pip :

pip install plotly

Code pour afficher les trois estimations :

    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()

Nous avons donc maintenant le graphique avec nos résultats.

Emmision COf a cat and a dog with python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Découvrir les itertoolsArticle suivant:Découvrir les itertools