Coverage for src/papierstat/datasets/enedis.py: 92%
13 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-30 06:49 +0200
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-30 06:49 +0200
1# -*- coding: utf-8 -*-
2"""
3@file
4@brief Jeux de données reliés à :epkg:`Enedis`.
5"""
6import pandas
9def load_enedis_dataset(dest='.', fLOG=None):
10 """
11 Retourne des données extraites du site :epkg:`Enedis` :
12 `Production électrique annuelle par filière à la maille commune
13 <https://data.enedis.fr/explore/dataset/production-electrique-par-filiere-a-la-maille-commune/export/>`_.
14 Le jeu proposé est un extrait pour les années 2015-2016.
15 Le téléchargement utilise le module :epkg:`pyensae`.
16 Notebooks associés à ce jeu de données :
18 .. runpython::
19 :rst:
21 from papierstat.datasets.documentation import list_notebooks_rst_links
22 links = list_notebooks_rst_links('visualisation', 'enedis')
23 links = [' * %s' % s for s in links]
24 print('\\n'.join(links))
26 @param dest répertoire de destination
27 @param fLOG fonction de log
28 @return :epkg:`pandas:DataFrame`
29 """
30 from pyensae.datasource import download_data
31 name = "production-electrique-par-filiere-a-la-maille-commune.extrait.2015-2016.csv.zip"
32 if fLOG:
33 res = download_data(name, whereTo=dest, fLOG=fLOG)
34 else:
35 res = download_data(name, whereTo=dest)
36 if len(res) != 1:
37 raise ValueError( # pragma: no cover
38 f"Unzipping '{name}' failed.")
39 df = pandas.read_csv(res[0], sep=';', encoding='utf-8')
40 df['long'] = df['Geo Point 2D'].apply(
41 lambda x: float(x.split(',')[1].strip()))
42 df['lat'] = df['Geo Point 2D'].apply(
43 lambda x: float(x.split(',')[0].strip()))
44 return df