pyspc.data.prevision.prevision14.Prevision14
- class pyspc.data.prevision.prevision14.Prevision14(filename=None)[source]
Bases :
MdbClasse destinée à traiter la base Prévision du SPC LCI, période 2014-2016
- filename
Chemin de la base de données
- Type:
str
- sql
Requête courante au format SQL
- Type:
str
- __init__(filename=None)[source]
Initialisation de l’instance Prevision14
- Paramètres:
filename (str) – Chemin de la base de données
Methods
__init__([filename])Initialisation de l'instance Prevision14
check_sql_return([content, warning])Contrôler le retour de la requête SQL.
close()Fermer la connexion à la base de données et le curseur <dbase>.
commit()Commiter/accepter les enregistrements ajoutés.
connect()Créer la connexion à la base de données et le curseur pyodbc.
execute([warning])Exécution de la requête SQL.
from_datetime([dtime, fmt, tolerance])Convertir un <string> ou un <datetime> au format accepté par Access.
Type de données des bases Prevision 2014
read_fcst([codes, valid, hydro_version, ...])Récupération des prévisions de la base Prevision14
read_fcst_hydro2([codes, valid, first_dt, ...])Récupération des prévisions de la base Prevision14
read_fcst_hydro3([codes, valid, first_dt, ...])Récupération des prévisions de la base Prevision14.
read_serie_hydro2([codes, valid, first_dt, ...])Récupération des séries de la base Prevision14
read_serie_hydro3([codes, valid, first_dt, ...])Récupération des séries de la base Prevision14.
rollback()Annuler les enregistrements ajoutés.
- check_sql_return(content=None, warning=False)
Contrôler le retour de la requête SQL.
- close()
Fermer la connexion à la base de données et le curseur <dbase>.
- commit()
Commiter/accepter les enregistrements ajoutés.
- connect()
Créer la connexion à la base de données et le curseur pyodbc.
Avertissement
Cette méthode nécessite l’import de la bibliothèque tierce pyodbc
- execute(warning=True)
Exécution de la requête SQL.
- Paramètres:
warning (bool) – Afficher les avertissements. Par défaut: True
- Renvoie:
list or None – Eléments retenus par la requête SQL
.. warning:: Cette méthode nécessite l’import de la – bibliothèque tierce pyodbc
- static from_datetime(dtime=None, fmt=None, tolerance=0)
Convertir un <string> ou un <datetime> au format accepté par Access.
Convertir les dates du format “str” au format “datetime.datetime”
- Convertir en réel: mode de stockage des dates dans Access
Il faut ajouter 1 jour lors du calcul du flottant car 366j en 1900 (Access) et 365j en 1900 (datetime.datetime)
Il faut enlever/ajouter 60 sec. (tolerance) dans le calcul du flottant pour contrer le pb de précision numérique SQL/ACCESS
- Paramètres:
dtime (datetime ou str) – Date à convertir
fmt (str) – Format de la date, si définie comme un str
tolerance (int) – Tolérance en secondes. Par défaut: 0
- Renvoie:
Valeur réelle correspondant à la date et à la tolérance
- Type renvoyé:
float
- classmethod get_datatypes()[source]
Type de données des bases Prevision 2014
- Renvoie:
Type de données des bases Prevision 2014
- Type renvoyé:
list
- read_fcst(codes=None, valid=False, hydro_version='hydro3', first_dt=None, last_dt=None, warning=True)[source]
Récupération des prévisions de la base Prevision14
- Paramètres:
codes (list) – Codes Hydro2/Hydro3 des stations
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
hydro_version (str) – Version du référentiel: “hydro2” ou “hydro3”. Défaut: “hydro3”
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
warning (bool) – Affiche les avertissement si True. Défaut: True
- Type renvoyé:
X
- Lève:
ValueError – si hydro_version n’est pas parmi [“hydro2”, “hydro3”]
Voir aussi
Prevision14.get_fcst_hydro2,Prevision14.get_fcst_hydro3
- read_fcst_hydro2(codes=None, valid=False, first_dt=None, last_dt=None, warning=True)[source]
Récupération des prévisions de la base Prevision14
- Paramètres:
codes (list) – Codes Hydro2/Hydro3 des stations
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
warning (bool) – Affiche les avertissement si True. Défaut: True
- Renvoie:
Tableau des données prévues
- Type renvoyé:
pandas.DataFrame
Notes
Les colonnes vides sont ignorées.
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.prevision import Prevision14 >>> f = 'data/io/dbase/prevision_2014.mdb' >>> reader = Prevision14(filename=f)
Exemple de prévision validée - Cas Hydro2
>>> df = reader.read_fcst_hydro2( ... codes=['K1251810'], ... first_dt=dt(2013, 5, 3, 12), ... last_dt=dt(2013, 5, 3, 23), ... valid=True ... ) >>> df K1251810 2013-05-03 23:00:00 2006 DebiVal HautVal DateVal 2013-05-04 00:00:00 204.199997 3.47 2013-05-04 01:00:00 202.100006 4.79 2013-05-04 02:00:00 200.199997 4.78 2013-05-04 03:00:00 198.399994 4.77 2013-05-04 04:00:00 196.300003 4.76 2013-05-04 05:00:00 193.600006 4.75 2013-05-04 06:00:00 190.399994 4.73 2013-05-04 07:00:00 186.699997 4.71 2013-05-04 08:00:00 182.500000 4.69 2013-05-04 09:00:00 177.899994 4.66 2013-05-04 10:00:00 173.100006 4.63 2013-05-04 11:00:00 168.199997 4.61 2013-05-04 12:00:00 163.300003 4.58 2013-05-04 13:00:00 158.399994 4.55 2013-05-04 14:00:00 153.500000 4.53 2013-05-04 15:00:00 148.800003 4.50 2013-05-04 16:00:00 144.300003 4.48 2013-05-04 17:00:00 139.899994 4.45 2013-05-04 18:00:00 135.699997 4.43 2013-05-04 19:00:00 131.699997 4.41 2013-05-04 20:00:00 127.699997 4.38 2013-05-04 21:00:00 123.699997 4.36 2013-05-04 22:00:00 119.800003 4.34 2013-05-04 23:00:00 115.800003 4.32 2013-05-05 00:00:00 111.599998 4.29 2013-05-05 01:00:00 107.300003 4.27 2013-05-05 02:00:00 103.000000 4.24 2013-05-05 03:00:00 98.900002 4.22 2013-05-05 04:00:00 95.099998 4.20 2013-05-05 05:00:00 91.500000 4.18 ... ... ... 2013-05-05 18:00:00 59.099998 3.97 2013-05-05 19:00:00 57.400002 3.96 2013-05-05 20:00:00 55.799999 3.94 2013-05-05 21:00:00 54.200001 3.93 2013-05-05 22:00:00 52.700001 3.92 2013-05-05 23:00:00 51.299999 3.90 2013-05-06 00:00:00 49.900002 3.89 2013-05-06 01:00:00 48.700001 3.88 2013-05-06 02:00:00 47.400002 3.86 2013-05-06 03:00:00 46.200001 3.84 2013-05-06 04:00:00 45.099998 3.83 2013-05-06 05:00:00 44.000000 3.81 2013-05-06 06:00:00 43.000000 3.80 2013-05-06 07:00:00 42.000000 3.78 2013-05-06 08:00:00 41.000000 3.77 2013-05-06 09:00:00 40.099998 3.75 2013-05-06 10:00:00 39.200001 3.73 2013-05-06 11:00:00 38.400002 3.71 2013-05-06 12:00:00 37.500000 3.69 2013-05-06 13:00:00 36.700001 3.67 2013-05-06 14:00:00 36.000000 3.65 2013-05-06 15:00:00 35.200001 3.63 2013-05-06 16:00:00 34.500000 3.61 2013-05-06 17:00:00 33.799999 3.59 2013-05-06 18:00:00 33.200001 3.57 2013-05-06 19:00:00 32.500000 3.55 2013-05-06 20:00:00 31.900000 3.53 2013-05-06 21:00:00 31.299999 3.51 2013-05-06 22:00:00 30.700001 3.49 2013-05-06 23:00:00 30.100000 3.47
[72 rows x 2 columns]
Exemple de prévision brute - Cas Hydro2
>>> df = reader.read_fcst_hydro2( ... codes=['K1251810'], ... first_dt=dt(2013, 5, 3, 12), ... last_dt=dt(2013, 5, 3, 23), ... valid=False ... ) >>> df K1251810 ... 2013-05-03 23:00:00 ... 2001 ... PluiVal ... DebiVal HautVal DateVal ... 2013-05-04 00:00:00 0.1 ... 204.199997 3.47 2013-05-04 01:00:00 1.6 ... 202.100006 4.79 2013-05-04 02:00:00 2.2 ... 200.199997 4.78 2013-05-04 03:00:00 1.1 ... 198.399994 4.77 2013-05-04 04:00:00 0.2 ... 196.300003 4.76 2013-05-04 05:00:00 0.1 ... 193.600006 4.75 2013-05-04 06:00:00 0.1 ... 190.399994 4.73 2013-05-04 07:00:00 0.0 ... 186.699997 4.71 2013-05-04 08:00:00 0.2 ... 182.500000 4.69 2013-05-04 09:00:00 0.0 ... 177.899994 4.66 2013-05-04 10:00:00 0.0 ... 173.100006 4.63 2013-05-04 11:00:00 0.0 ... 168.199997 4.61 2013-05-04 12:00:00 0.0 ... 163.300003 4.58 2013-05-04 13:00:00 0.0 ... 158.399994 4.55 2013-05-04 14:00:00 0.0 ... 153.500000 4.53 2013-05-04 15:00:00 0.0 ... 148.800003 4.50 2013-05-04 16:00:00 0.0 ... 144.300003 4.48 2013-05-04 17:00:00 0.0 ... 139.899994 4.45 2013-05-04 18:00:00 0.0 ... 135.699997 4.43 2013-05-04 19:00:00 0.0 ... 131.699997 4.41 2013-05-04 20:00:00 0.0 ... 127.699997 4.38 2013-05-04 21:00:00 0.0 ... 123.699997 4.36 2013-05-04 22:00:00 0.0 ... 119.800003 4.34 2013-05-04 23:00:00 0.0 ... 115.800003 4.32 2013-05-05 00:00:00 0.0 ... 111.599998 4.29 2013-05-05 01:00:00 0.0 ... 107.300003 4.27 2013-05-05 02:00:00 0.0 ... 103.000000 4.24 2013-05-05 03:00:00 0.0 ... 98.900002 4.22 2013-05-05 04:00:00 0.0 ... 95.099998 4.20 2013-05-05 05:00:00 0.0 ... 91.500000 4.18 ... ... ... ... ... 2013-05-05 18:00:00 0.0 ... 59.099998 3.97 2013-05-05 19:00:00 0.0 ... 57.400002 3.96 2013-05-05 20:00:00 0.0 ... 55.799999 3.94 2013-05-05 21:00:00 0.0 ... 54.200001 3.93 2013-05-05 22:00:00 0.0 ... 52.700001 3.92 2013-05-05 23:00:00 0.0 ... 51.299999 3.90 2013-05-06 00:00:00 0.1 ... 49.900002 3.89 2013-05-06 01:00:00 0.0 ... 48.700001 3.88 2013-05-06 02:00:00 0.0 ... 47.400002 3.86 2013-05-06 03:00:00 0.0 ... 46.200001 3.84 2013-05-06 04:00:00 0.0 ... 45.099998 3.83 2013-05-06 05:00:00 0.0 ... 44.000000 3.81 2013-05-06 06:00:00 0.0 ... 43.000000 3.80 2013-05-06 07:00:00 0.0 ... 42.000000 3.78 2013-05-06 08:00:00 0.0 ... 41.000000 3.77 2013-05-06 09:00:00 0.0 ... 40.099998 3.75 2013-05-06 10:00:00 0.0 ... 39.200001 3.73 2013-05-06 11:00:00 0.0 ... 38.400002 3.71 2013-05-06 12:00:00 0.0 ... 37.500000 3.69 2013-05-06 13:00:00 0.0 ... 36.700001 3.67 2013-05-06 14:00:00 0.0 ... 36.000000 3.65 2013-05-06 15:00:00 0.2 ... 35.200001 3.63 2013-05-06 16:00:00 0.0 ... 34.500000 3.61 2013-05-06 17:00:00 0.0 ... 33.799999 3.59 2013-05-06 18:00:00 0.0 ... 33.200001 3.57 2013-05-06 19:00:00 0.0 ... 32.500000 3.55 2013-05-06 20:00:00 0.0 ... 31.900000 3.53 2013-05-06 21:00:00 0.0 ... 31.299999 3.51 2013-05-06 22:00:00 0.0 ... 30.700001 3.49 2013-05-06 23:00:00 0.0 ... 30.100000 3.47
[72 rows x 27 columns]
- read_fcst_hydro3(codes=None, valid=False, first_dt=None, last_dt=None, warning=True)[source]
Récupération des prévisions de la base Prevision14.
- Paramètres:
codes (list) – Codes Hydro2/Hydro3 des stations
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
warning (bool) – Affiche les avertissement si True. Défaut: True
- Renvoie:
Tableau des données prévues
- Type renvoyé:
pandas.DataFrame
Exemples
- read_serie_hydro2(codes=None, valid=None, first_dt=None, last_dt=None, warning=True)[source]
Récupération des séries de la base Prevision14
- Paramètres:
codes (list) – Codes Hydro2/Hydro3 des stations
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
warning (bool) – Affiche les avertissement si True. Défaut: True
- Renvoie:
Dictionnaire des méta-données des séries {méta: nserie}
- Type renvoyé:
dict
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.prevision import Prevision14 >>> f = 'data/io/dbase/prevision_2014.mdb' >>> reader = Prevision14(filename=f)
Exemple de prévision validée - Cas Hydro2
>>> content = reader.read_serie_hydro2( ... codes=['K1251810', 'K1363010'], ... first_dt=dt(2013, 5, 3, 12), ... last_dt=dt(2013, 5, 3, 23), ... valid=True ... ) >>> content {('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2006, None, None, None, None, None, None, None): 96, (K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2006, None, None, None, None, None, None, None): 136}
Exemple de prévision brute - Cas Hydro2
>>> content = reader.read_serie_hydro2( ... codes=['K1251810', 'K1363010'], ... first_dt=dt(2013, 5, 3, 12), ... last_dt=dt(2013, 5, 3, 23), ... valid=False ... ) >>> content {('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2001, True, True, True): 91, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2002, True, True, True): 92, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2003, True, True, True): 93, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2004, True, True, True): 94, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2005, True, True, True): 95, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2006, True, True, True): 96, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2007, True, True, True): 100, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2008, True, True, True): 98, ('K1251810', datetime.datetime(2013, 5, 3, 23, 0), 2009, True, True, True): 99, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2001, True, True, True): 131, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2002, True, True, True): 132, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2003, True, True, True): 133, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2004, True, True, True): 134, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2005, True, True, True): 135, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2006, True, True, True): 136, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2007, True, True, True): 140, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2008, True, True, True): 138, ('K1363010', datetime.datetime(2013, 5, 3, 23, 0), 2009, True, True, True): 139}
- read_serie_hydro3(codes=None, valid=None, first_dt=None, last_dt=None, warning=True)[source]
Récupération des séries de la base Prevision14.
- Paramètres:
codes (list) – Codes Hydro2/Hydro3 des stations
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
warning (bool) – Affiche les avertissement si True. Défaut: True
- Renvoie:
Dictionnaire des méta-données des séries {méta: nserie}
- Type renvoyé:
dict
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.prevision import Prevision14 >>> f = 'data/io/dbase/prevision_2014.mdb' >>> reader = Prevision14(filename=f)
Exemple de prévision validée - Cas Hydro3
>>> content = reader.read_serie_hydro3( ... codes=['K6373020', 'K6402520', 'K6453010'], ... first_dt=dt(2016, 5, 31, 12), ... last_dt=dt(2016, 5, 31, 18), ... valid=True ... ) >>> content { ('K6373020', datetime.datetime(2016, 5, 31, 13, 0), 2001): 10262, ('K6402520', datetime.datetime(2016, 5, 31, 12, 0), 3002): 10267, ('K6453010', datetime.datetime(2016, 5, 31, 15, 0), 2001): 10391, ('K6373020', datetime.datetime(2016, 5, 31, 16, 0), 2001): 10426, ('K6402520', datetime.datetime(2016, 5, 31, 16, 0), 3002): 10430, ('K6402520', datetime.datetime(2016, 5, 31, 18, 0), 3001): 10477, }
Exemple de prévision brute - Cas Hydro3
>>> content = reader.read_serie_hydro3( ... codes=['K6373020', 'K6402520', 'K6453010'], ... first_dt=dt(2016, 5, 31, 12), ... last_dt=dt(2016, 5, 31, 18), ... valid=False ... ) >>> content { ('K6373020', datetime.datetime(2016, 5, 31, 13, 0), 2001): 10262, ('K6402520', datetime.datetime(2016, 5, 31, 12, 0), 3002): 10267, ('K6453010', datetime.datetime(2016, 5, 31, 15, 0), 2001): 10391, ('K6373020', datetime.datetime(2016, 5, 31, 16, 0), 2001): 10426, ('K6402520', datetime.datetime(2016, 5, 31, 16, 0), 3002): 10430, ('K6402520', datetime.datetime(2016, 5, 31, 18, 0), 3001): 10477, }
- rollback()
Annuler les enregistrements ajoutés.