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

WBOY
Libérer: 2024-09-03 10:40:45
original
364 Les gens l'ont consulté

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
Copier après la connexion

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)
Copier après la connexion

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)
            )
Copier après la connexion

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
Copier après la connexion

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()
Copier après la connexion

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!

source:dev.to
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal