Maison > Article > développement back-end > Émission CO d'un chat et d'un chien avec python
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/
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
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)
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) )
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.
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!