pyspc.data.prevision.prevision19.Prevision19
- class pyspc.data.prevision.prevision19.Prevision19(filename=None)[source]
-
Classe destinée à traiter la base Prévision du SPC LCI, période 2019-202.
- filename
Chemin de la base de données
- Type:
str
- sql
Requête courante au format SQL
- Type:
str
- subtype
Sous-type de base de données
- Type:
str
- __init__(filename=None)[source]
Initialisation de l’instance Prevision17.
- Paramètres:
filename (str) – Chemin de la base de données
Methods
__init__([filename])Initialisation de l'instance Prevision17.
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.
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 2019.
insert_fcst([fcst, valid])Insérer les informations sur les prévisions
insert_models([models])Insérer les informations sur les modèles de prévision.
insert_series([series, valid])Insérer les informations sur les séries de prévision.
insert_values([values, valid])Insérer les informations sur les valeurs de prévision.
Récupérer l'identifiant du dernier enregistrement.
read_fcst([codes, first_dt, last_dt, valid, ...])Récupération des prévisions (séries+valeurs) de la base Prevision19.
Extraire les informations sur les modèles de prévision.
read_series([codes, first_dt, last_dt, ...])Récupération des séries de la base Prevision19.
read_values([nseries, valid, warning])Récupération des valeurs de la base Prevision19.
rollback()Annuler les enregistrements ajoutés.
unique_series([nseries, valid, warning])Unicité des séries.
- 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.
- 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 2019.
- Renvoie:
Type de données des bases Prevision 2019
- Type renvoyé:
list
- insert_fcst(fcst=None, valid=False)[source]
Insérer les informations sur les prévisions
- Paramètres:
fcst (dict) – Dictionnaire de DataFrame {id: df}
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
- Renvoie:
rows – Dictionnaire de correspondance entre id et les clés primaires des séries et des valeurs
- Type renvoyé:
dict
Voir aussi
Prevision19.get_series,Prevision19.get_values,Prevision19.insert_series,Prevision19.insert_values
- insert_models(models=None)[source]
Insérer les informations sur les modèles de prévision.
- Paramètres:
models (dict) – Dictionnaire des modèles {« id_modeles »: {« CodeModele »: “x”, « Nom »: “x”, « CodePOM »: “x”}}
- Renvoie:
rows – Dictionnaire de correspondance entre les clés de <models> et les clés primaires
- Type renvoyé:
dict
- insert_series(series=None, valid=False)[source]
Insérer les informations sur les séries de prévision.
- Paramètres:
series (dict) – Dictionnaire des séries {NSerie: {attribut: valeur}}
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
- Renvoie:
rows – Dictionnaire de correspondance entre NSerie et la clé primaire de la série
- Type renvoyé:
dict
Voir aussi
Prevision19.get_series
- insert_values(values=None, valid=False)[source]
Insérer les informations sur les valeurs de prévision.
- Paramètres:
values (dict) – Dictionnaire des tableaux de valeurs {NSerie: DataFrame}
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
- Renvoie:
rows – Dictionnaire de correspondance entre NSerie et les clés primaires des valeurs
- Type renvoyé:
dict
Voir aussi
Prevision19.get_values
- read_fcst(codes=None, first_dt=None, last_dt=None, valid=False, released=False, unique=False, warning=True)[source]
Récupération des prévisions (séries+valeurs) de la base Prevision19.
- Paramètres:
codes (list) – Liste des identifiants des sites/stations
first_dt (datetime) – Première instant de prévision à considérer
last_dt (datetime) – Dernier instant de prévision à considérer
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
released (bool) – Seulement les prévisions diffusées (True). Défaut: False
unique (bool) – Imposer l’unicité des séries (True). Défaut: False
warning (bool) – Afficher les avertissements ? défaut: True
- Renvoie:
dfs – Dictionnaire de DataFrame {nserie: df}
- Type renvoyé:
dict
Voir aussi
Prevision19.get_series,Prevision19.get_values
- read_models()[source]
Extraire les informations sur les modèles de prévision.
- Renvoie:
atts (list) – Liste des attributs
infos (dict) – Dictionnaire des modèles
- read_series(codes=None, first_dt=None, last_dt=None, valid=False, released=False, warning=True)[source]
Récupération des séries de la base Prevision19.
- Paramètres:
codes (list) – Liste des identifiants des sites/stations
first_dt (datetime) – Première instant de prévision à considérer
last_dt (datetime) – Dernier instant de prévision à considérer
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
released (bool) – Seulement les prévisions diffusées (True). Défaut: False
warning (bool) – Afficher les avertissements ? défaut: True
- Renvoie:
atts (list) – Liste des attributs
infos (dict) – Dictionnaire des séries (nserie: informations)
Exemples
>>> from datetime import datetime as dt >>> from pyspc.data.prevision import Prevision19 >>> f = 'data/io/dbase/PRV_201801.mdb' >>> reader = Prevision19(filename=f)
Exemple de prévision validée
>>> header, content = reader.read_series( ... codes=['K1321810'], ... first_dt=dt(2018, 1, 3), ... last_dt=dt(2018, 1, 5), ... valid=True ... ) >>> header ['NSerie', 'CodeStation', 'CodeModele', 'DateDerObs', 'Source', 'Diffuse'] >>> content.keys() [5, 11] >>> content[5] {'NSerie': 5, 'CodeStation': 'K1321810', 'CodeModele': 5200, 'DateDerObs': '201801041200', 'Source': 'expresso', 'Diffuse': None}
Exemple de prévision brute
>>> header, content = reader.read_series( ... codes=['K1321810'], ... first_dt=dt(2018, 1, 3), ... last_dt=dt(2018, 1, 5), ... valid=False ... ) >>> header ['NSerie', 'CodeStation', 'CodeModele', 'DateDerObs'] >>> content.keys() [5, 7, 11, 16, 17, 18, 19, 20, 21, 41, 49, 50] >>> content[11] {'NSerie': 11, 'CodeStation': 'K1321810', 'CodeModele': 2011, 'DateDerObs': '201801041200'}
- read_values(nseries=None, valid=False, warning=True)[source]
Récupération des valeurs de la base Prevision19.
- Paramètres:
nseries (list) – Liste des clés primaire des séries
valid (bool) – Prévision expertisée (True). Défaut: False
warning (bool) – Afficher les avertissements ? défaut: True
- Renvoie:
dfs – Dictionnaire de tableaux des données. La clé correspond à la clé primaire de la série
- Type renvoyé:
dict de pnd.DataFrame
Exemples
>>> from pyspc.data.prevision import Prevision19 >>> f = 'data/io/dbase/PRV_201801.mdb' >>> reader = Prevision19(filename=f)
Exemple de prévision validée
>>> content = reader.read_values(nseries=[5, 10], valid=True) >>> content.keys() [5, 10] >>> content[5] Val Val10 Val50conv Val90conv DateVal 1 291100 286974 3570 3591 2 303300 288238 3617 3662 3 310000 284618 3644 3718 4 314200 284729 3663 3757 5 316500 284179 3676 3772 6 317300 283146 3683 3790 7 317100 281603 3688 3801 8 316600 280230 3693 3813 9 316400 279473 3701 3823 10 316300 279096 3708 3830 11 316500 279013 3718 3838 12 316800 278710 3728 3845 13 317100 277547 3738 3854 14 317300 276099 3744 3857 15 317300 274709 3751 3860 16 317000 273145 3753 3864 17 316300 271238 3753 3862 18 315100 269355 3751 3861 19 313500 266835 3747 3858 20 311900 264816 3742 3855 21 310300 262527 3732 3852 22 308800 261759 3724 3847 23 307400 259705 3715 3844 24 306200 258442 3708 3841 25 305100 256756 3699 3837 26 304100 255721 3692 3833 27 302900 256539 3681 3825 28 301500 254997 3670 3819 29 299700 253210 3659 3812 30 297300 251872 3642 3803 ... ... ... ... ... 90 175400 143395 3064 3187 91 172100 141029 3030 3174 92 168800 138663 2996 3153 93 165800 136513 2965 3118 94 162800 134323 2934 3083 95 159900 132194 2905 3050 96 157100 130139 2877 3017 97 154500 128231 2851 2988 98 151900 126338 2825 2958 99 149400 124522 2799 2930 100 146900 122707 2760 2901 101 144600 121046 2727 2875 102 142300 119426 2694 2849 103 140100 117876 2663 2824 104 138000 116398 2633 2800 105 135900 114925 2603 2762 106 133900 113522 2574 2730 107 132000 112199 2547 2700 108 130100 110925 2523 2676 109 128300 109718 2500 2652 110 126500 108520 2478 2629 111 124900 107459 2458 2609 112 123500 106540 2440 2591 113 122100 105649 2423 2573 114 120900 104886 2408 2558 115 119900 104244 2395 2545 116 119000 103664 2384 2533 117 118400 103277 2376 2526 118 117800 102890 2369 2518 119 117200 102506 2361 2510 [119 rows x 8 columns]
Exemple de prévision brute
>>> content = reader.read_values(nseries=[5], valid=False) >>> content.keys() [5] >>> content[5] Val Val10 Val50conv Val90conv DateVal 1 285980 285302 3551 3554 2 289725 283901 3565 3586 3 293533 282428 3579 3619 4 297315 280947 3593 3649 5 300997 279243 3607 3679 6 304510 277259 3620 3709 7 307850 275259 3631 3736 8 311005 272988 3641 3757 9 313843 270341 3650 3769 10 316239 268840 3657 3779 11 317679 266483 3660 3786 12 318116 263263 3658 3792 13 317580 260975 3655 3794 14 316076 257903 3648 3795 15 313783 254209 3637 3793 16 310886 250056 3625 3791 17 307196 245304 3609 3786 18 302824 240054 3591 3780 19 298130 235662 3572 3770 20 293132 231052 3552 3759 21 287668 226098 3530 3744 22 282257 221211 3509 3720 23 277231 216648 3489 3697 24 272664 212466 3471 3677 25 268426 209155 3455 3657 26 264412 206018 3440 3637 27 260553 203003 3426 3619 28 256941 200180 3412 3601 29 253487 197481 3399 3585 30 250104 194837 3386 3569 ... ... ... ... ... 91 133697 97562 2547 2950 92 130935 95570 2510 2919 93 128244 93628 2474 2888 94 125624 91738 2439 2859 95 123071 89896 2405 2830 96 120584 88102 2372 2802 97 118161 86354 2339 2760 98 115800 84650 2307 2722 99 113501 82993 2276 2686 100 111263 81382 2245 2651 101 109084 79814 2215 2616 102 106968 78291 2186 2583 103 104914 76815 2158 2550 104 102919 75383 2130 2518 105 100980 73993 2102 2487 106 99097 72642 2075 2457 107 97266 71329 2049 2428 108 95486 70054 2024 2400 109 93754 68813 1999 2372 110 92083 67617 1975 2345 111 90497 66483 1952 2320 112 88973 65394 1930 2295 113 87501 64342 1908 2272 114 86077 63324 1887 2249 115 84697 62338 1867 2226 116 83359 61381 1848 2205 117 82065 60458 1829 2184 118 80828 59575 1810 2164 119 79650 58734 1793 2145 120 78526 57905 1776 2124 [120 rows x 8 columns]
- rollback()
Annuler les enregistrements ajoutés.
- unique_series(nseries=None, valid=False, warning=True)[source]
Unicité des séries.
Pour un triplet (code, model/scen, dtderobs), conserve la série ayant le statut le plus élevé:
diffusée > non-diffusée
expertisée > validée > pré-validée
- Paramètres:
nseries (list) – Liste des clés primaire des séries
valid (bool) – Prévision expertisée (True). Défaut: False
warning (bool) – Afficher les avertissements ? défaut: True
- Renvoie:
useries – Liste des clés primaire des séries UNIQUES
- Type renvoyé:
list