Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
| Former Yugoslavia (YUG) | ||
| South Africa (ZAF) | ||
| Zambia (ZMB) | ||
| Zimbabwe (ZWE)""" |
There was a problem hiding this comment.
Cette liste de pays n'est pas pratique à maintenir. Existe-t-il un moyen de récupérer tous les pays via l'API ou bien existe-t-il une autre API en mesure de lister tous les pays existants dans le référentiel EIA ?
There was a problem hiding this comment.
J'ai effectivement pensé à récupérer d'un coup tous les pays en les intégrant à l'URL, cependant l'API est limitée à 5.000 lignes maximum par appel (afin d'éviter de surcharger leurs serveurs). Utiliser ce type de liste (qui est un copié-collé de l'api manuelle) est la seule solution que j'ai trouvé.
There was a problem hiding this comment.
Est-ce que tu as essayé d'utiliser la pagination avec offset et length ?
| South Africa (ZAF) | ||
| Zambia (ZMB) | ||
| Zimbabwe (ZWE)""" | ||
| countries = countries.replace('\n',' ') |
There was a problem hiding this comment.
Pourquoi ne pas stocker les pays directement sous format liste ? Possible d'utiliser des ctrl+R pour remplacer les sauts de lignes par des virgules et guillements.
| #### Requesting the API #### | ||
| df_electricity = pd.concat([api_call(code, url) for code in country_codes]) | ||
|
|
||
| return df_electricity |
There was a problem hiding this comment.
Il faudrait renommer df_electricity par df_eia car de ma compréhension, il est possible de récupérer effectivement les données electricité mais également n'importe quelle statistique issue de l'EIA.
There was a problem hiding this comment.
Fichier à supprimer car celui-ci ne doit pas être versionné.
There was a problem hiding this comment.
Mais preneur d'une comparaison avec le fichier qui se trouve dans server/data pour vérifier que le passage à l'API n'a pas occasioné de changements dans les données finales.
There was a problem hiding this comment.
Fichier à supprimer car celui-ci ne doit pas être versionné.
There was a problem hiding this comment.
@Yh-Cherif, super pour l'ajout de ce nouveau fichier 💯 Pour bien finaliser la tâche, je t'invite à effectuer la vérification et la comparaison des données de bout en bout. Actuellement, le fichier WORLD_ENERGY_HISTORY_electricity_generation_prod n'a pas d'équivalent dans server/data. Le nom est trompeur mais c'es dans le fichier IEA_API_electricity_by_energy_family_prepared_prod qu'il va falloir remplacer les données :)
En effectuant la comparaison des données, on observe pas mal de différences entre le fichier original et le nouveau fichier. Pourrais-tu effectuer une vérification des données et corriger ton nouveau fichier de façon à ce qu'il se rapproche le plus du format du fichier original ? Je te laisse le soin d'effectuer cette vérification. Voici ce que j'ai relevé pour le moment :
- renommer la colonne power en "final_energy".
- renommer la colonne "power_unit" en "final_energy_unit"
- verifier l'unité (TWh dans ancien fichier et TW dans nouveau fichier).
- les catégories dans "energy_family" ne correspondent pas forcément. Ce n'est pas forcément iun problème car les nouvelles catégories sont potentiellement plus pertinentes que les anciennes. Mais à vérifier :)
- vérifier les ordres de grandeur des données.
- vérifier les pays apparus et disparus.
Bon courage !
|
Hello @tvienne, j'ai pris en compte toutes tes remarques. Concernant les modifications et le format du nouveau fichier :
Voici quelques screens de comparaisons que j'ai pu faire : De plus, j'ai retiré le fichier WORLD_ENERGY_HISTORY_electricity_generation_prod.csv du dossier server/data. S'il persiste encore des points d'ombre, n'hésite pas à me le signaler ! 😄 |
| import time | ||
|
|
||
|
|
||
| API_KEY = "ylfmO1udIGtPIpZbz2UNcC5jwSNGuK4a3Vsl6ItL" |
There was a problem hiding this comment.
Je te propose de créer une nouvelle clé et de la stocker dans un fichier .env comme préconisé sur cette page
| ### Requesting the API | ||
| df_elec = get_data(elem['url']) | ||
| df_elec = df_elec.drop_duplicates() | ||
| df_elec = df_elec.dropna() |
There was a problem hiding this comment.
Ne vaut-il mieux pas essayer de remplir les valeurs manquantes plutôt que de supprimer la ligne entière ?
|
|
||
| # Reorganizing | ||
| df_elec['year'] = df_elec['year'].astype(int) | ||
| df_elec[['country', 'year', 'energy_family', 'power']] |
There was a problem hiding this comment.
À quoi sert cette ligne ?
| df_elec = df_elec[["source", 'group_type', 'group_name', "year", "energy_family", "power", "power_unit"]] | ||
|
|
||
| # Dropping missing values | ||
| df_elec = df_elec.dropna() |
There was a problem hiding this comment.
Même remarque à propos des valeurs manquantes




No description provided.