pyspc.data.prevision.prevision19.Prevision19

class pyspc.data.prevision.prevision19.Prevision19(filename=None)[source]

Bases : Mdb, Sdb

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.

get_datatypes()

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.

lastrowid()

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.

read_models()

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.

connect()[source]

Créer la connexion à la base de données et le curseur.

<mdb> ou <sqlite3>

execute(warning=True)[source]

Exécution de la requête SQL.

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

lastrowid()[source]

Récupérer l’identifiant du dernier enregistrement.

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