Skip to content

New primary energy production data processing and merging with existent data #34

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

blablasaur
Copy link
Collaborator

@blablasaur blablasaur commented Mar 4, 2025

Issues

For now, some countries aren't present in the new data:
image

"Palestine" is absent and replaced with "Palestinian Territories", can the former be approximated by the later?

Some other countries that appear only in the new datasets:
image

Next step:

Adding the previous data to the new (question about which source to take as ground truth)

Copy link

vercel bot commented Mar 4, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
front ✅ Ready (Inspect) Visit Preview 💬 Add feedback Apr 16, 2025 5:55pm

@blablasaur blablasaur requested review from Yh-Cherif and tvienne March 4, 2025 11:16
@blablasaur blablasaur self-assigned this Mar 4, 2025
available_production_eia.country = translator.run(available_production_eia.country, raise_errors=True)

### Conversions
available_production_eia.loc[available_production_eia.energy_unit == "Mb/d",["energy"]] = available_production_eia[available_production_eia.energy_unit == "Mb/d"].energy.apply(lambda x :x / RATE_MBD_TO_MTOE)
Copy link
Collaborator

@tvienne tvienne Mar 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Il me semble possible de le remplacer par :

available_production_eia.loc[available_production_eia.energy_unit == "Mb/d",["energy"]] /= RATE_MBD_TO_MTOE

Pareil pour les lignes suivantes. Qu'en penses-tu ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je ne savais pas qu'on pouvait directement appliquer une fonction au sein de la fonction loc.
c'est noté!


list_col_group_by = ['group_type', 'group_name', 'energy_family', 'year']
dict_agg = {"energy": "sum"}
available_production_eia = stats.run(available_production_eia,df_country=df_country,list_cols_group_by=list_col_group_by,dict_aggregation=dict_agg )
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super pour le code ! Pourrais-tu également sauvegarder le dataframe available_production_eia dans le dossier data/server/world_energy_history. La comparaison de ce nouveau fichier avec l'ancien permettra de vérifier si tout s'est bien passé. Je t'envoie un message Slack en ce sens. Congrats !

…o server/data/WORLD_ENERGY_HISTORY_primary_energy_prod.csv
@blablasaur
Copy link
Collaborator Author

J'ai merged les changements récents de main, mais les warnings relatifs aux pays sont toujours les mêmes, j'ai regardé, les fichiers utilisés (translation.py et country_groups ) sont bien à jour sur cette PR. @Yh-Cherif tu aurais une idée?

Je vous remets l'output pour le contexte.

image

@Yh-Cherif
Copy link
Collaborator

Yh-Cherif commented Apr 4, 2025

Pour ce qui est des pays, 'Palau', 'Andorra', 'Liechtenstein', 'Monaco', 'San Marino' et 'Palestine', ces pays ne figurent pas dans les données issues de l'EIA (et je crois même qu'ils n'étaient pas présents dans l'ancienne base), j'ai donc décidé d'ignorer le warning concernant ces pays.

Remarque : 'Swaziland' est à présent traduit en 'Eswatini' (cf wiki), c'est pour cela que cela renvoie un warning.

Pour ce qui est des pays 'Hawaiian Trade Zone', 'Northern Marinana Islands', 'Micronesia', 'Kosovo', 'U.S. Territories', 'Tuvalu', 'Palestinian Territories', et 'World', ces pays ne sont pas présents dans le fichier country_groups.csv, ce qui implique que ces pays ne sont pas assignés à leurs groupes respectifs (ex: 'Micronesia' en Océanie).
J'ai donc légèrement modifié le fichier country_groups.csv en ajoutant ligne à ligne les pays manquants afin d'inclure ces pays dans leurs groupes.

Remarque : J'ai retiré 'World' et 'Antarctica' car d'après @tvienne les zones sont refaites avec la classe StatisticsPerCountriesAndZonesJoiner() et pourraient causer des problèmes par la suite. Cela dit j'aimerai avoir votre avis concernant 'Antarctica' car je la considère comme une "zone" au même titre que l'Afrique ou l'Europe, qu'en pensez vous?

@Yh-Cherif
Copy link
Collaborator

En utilisant ce fichier, le problème devrait être réglé.
country_groups.csv

@tvienne
Copy link
Collaborator

tvienne commented Apr 7, 2025

Hello @blablasaur et @Yh-Cherif, merci pour vos retours sur la PR 👌

Quelques remarques sur le fichiers country_groups.csv :

  • Le fichier country_groups.csv contient le référentiel pays et sert de base pour l'ensemble des datasets. Il faut le modifier au minimum car cela impliquerait de modifier tout le module de traduction et toutes les autres sources de données. Vous soulevez cependant un très bon point, il y a un bug avec Swaziland qui aurait dû être remplacé par Eswatini. Il faut donc effectivement remplacer les lignes 137 et 497 de country_group.csv. Peux-tu t'en charger @blablasaur ?

  • Pour l'Antartique, on arrive effectivement aux limites du fichier country_groups.csv et il faudrait le refondre pour bien inclure proprement tout les pays... C'est un sujet important mais plus secondaire que la mise à jour des données. J'ajoute un ticket en ce sens sur le Notion.

  • Pour les autres pays mal traduits, il est préférable d'identifier dans le log les fichiers qui sont pas mal traduits et ajouter des entrées au fichier translation.py. Ainsi, sur le log remonté par @blablasaur, on peut observer qu'il faut modifier la ligne 398 de translation.py ("Palestinian Territories":"Palestinian Territories") qui doit être remplacée par "Palestinian Territories":"Palestine". Il s'agit d'une erreur de mapping. Peux-tu t'en charger @blablasaur ?

  • Pour les autres pays, c'est ok s'il en manque dans le référentiel. Cela arrive pour chaque dataset intégré.

@tvienne
Copy link
Collaborator

tvienne commented Apr 7, 2025

@blablasaur, n'hésites pas à jeter un oeil aux autres commentaires remontés. Fais-moi signe quand c'est bon :)

@blablasaur
Copy link
Collaborator Author

Merci pour vos commentaires, en effet ces pays sont aussi non présents dans les anciennes données (Palau , andorra , Monaco, San Marino, Liechstenstein, Palestine ). On peut donc ignorer les warnings.
Je me chargerai aussi des quelques modifs du country_group et de translation.py.

@blablasaur
Copy link
Collaborator Author

J'ai effectué les changements, derrière petite chose:
WARNING: 4 countries are missing in the statistics dataset for zone : Europe
['Andorra', 'Liechtenstein', 'Monaco', 'San Marino']

WARNING: 1 countries are missing in the statistics dataset for zone : World
['Palau']

D'après ce message, les pays 'Andorra', 'Liechtenstein', 'Monaco', 'San Marino sont pris en compte dans le groupe Europe mais pas dans Monde, est ce normal?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Le fichier contient une colonne Unnamed : 0 qui est à supprimer :)

@tvienne
Copy link
Collaborator

tvienne commented Apr 18, 2025

Merci @blablasaur pour les évolutions 👏 Le code s'est beaucoup amélioré, bravo. Encore quelques retours sur la qualité de données finale, on y est presque.

Il semble y avoir un problème d'ordres de grandeur dans les données pétrole. Pourrais-tu vérifier l'unité des données et les corriger en conséquences ?

image image image

@tvienne
Copy link
Collaborator

tvienne commented Apr 18, 2025

Nous avons des données en doublon pour l'Allemagne. Cela a l'air d'être lié au problème Allemagne de l'Ouest - Allemagne de l'Est. Tu confirmes avoir eu le même problème @Yh-Cherif ?

image image

@Yh-Cherif
Copy link
Collaborator

Effectivement, j'ai l'impression qu'il s'agit du même problème. De mon côté, l'Allemagne apparait à partir de 1991. Avant, il y a la segmentation Allemagne Est/Ouest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants