Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1# coding: utf-8
2"""
3Loads data from :epkg:`INSEE`.
4"""
5import os
6from pandas import to_datetime
7from .pandas_cache import read_csv_cache, geo_read_csv_cache
10def data_france_departments(cache='dep_france', metropole=False):
11 """
12 Retrieves data from
13 `Contours géographiques des départements
14 <https://www.data.gouv.fr/en/datasets/
15 contours-geographiques-des-departements/>`_.
17 :param metropole: only for the metropole
18 :param cache: cache name
19 :return: geodataframe
20 """
21 url = ("https://www.data.gouv.fr/en/datasets/r/"
22 "ed02b655-4307-4db4-b1ca-7939145dc20f")
23 backup = os.path.join(os.path.dirname(__file__),
24 "data_france_dep.geojson")
25 df = geo_read_csv_cache(cache, url, backup=backup)
26 if 'id' in df.columns:
27 df = df.drop('id', axis=1)
28 if metropole:
29 codes = [_ for _ in set(df.code_depart) if len(_) < 3]
30 return df[df.code_depart.isin(codes)]
31 return df
34def data_covid_france_departments_hospitals(
35 cache='covid_france_hosp', metropole=False):
36 """
37 Retrieves data from
38 `Données hospitalières relatives à l'épidémie de COVID-19
39 <https://www.data.gouv.fr/fr/datasets/
40 donnees-hospitalieres-relatives-a-lepidemie-de-covid-19/>`_.
42 :param cache: cache name
43 :param metropole: only for the metropole
44 :return: dataframe
45 """
46 url = ("https://www.data.gouv.fr/fr/datasets/r/"
47 "63352e38-d353-4b54-bfd1-f1b3ee1cabd7")
48 df = read_csv_cache(cache, url, sep=';')
49 df['jour'] = to_datetime(df['jour'])
50 if metropole:
51 codes = [_ for _ in set(df.dep) if len(_) < 3]
52 return df[df.dep.isin(codes)]
53 return df
56def data_covid_france_departments_tests(
57 cache='covid_france_test',
58 metropole=False):
59 """
60 Retrieves data from
61 `Données relatives aux résultats des tests virologiques COVID-19 SI-DEP
62 <https://www.data.gouv.fr/fr/datasets/
63 donnees-relatives-aux-resultats-des-tests-virologiques-covid-19/>`_.
65 :param cache: cache name
66 :param metropole: only for the metropole
67 :return: geodatafrale
68 """
69 def trylen(v):
70 try:
71 return len(v)
72 except TypeError as e: # pragma: no cover
73 raise TypeError("Issue with '{}'".format(v)) from e
74 url = ("https://www.data.gouv.fr/fr/datasets/r/"
75 "406c6a23-e283-4300-9484-54e78c8ae675")
76 df = read_csv_cache(cache, url, sep=';')
77 df['jour'] = to_datetime(df['jour'])
78 df['dep'] = df.dep.astype(str)
80 def plus0(s):
81 if len(s) < 2:
82 return "0" * (2 - len(s)) + s
83 return s
85 df['dep'] = df['dep'].apply(plus0)
87 if metropole:
88 codes = [_ for _ in set(df.dep) if trylen(_) < 3]
89 return df[df.dep.isin(codes)]
90 return df