pyspc.core.series.Series
- class pyspc.core.series.Series(datatype=None, name='series')[source]
Bases :
BasicDict,Computation,Exporting,Modeling,Plotting,Reindexing,Scaling,Statistics,TimeSerieStructure des Collections de Série de données.
- codes
Liste des codes des séries
- Type:
list
- datatype
Type de la collection
- Type:
str
- meta
Liste des méta-données des séries - Si .datatype est “obs”: meta : [(“obs”,), …] - Si .datatype est “sim”: meta : [(“model”,), …] - Si .datatype est “fcst”: meta : [(“rtime”, “scen”, “prob”), …]
- Type:
list
- name
Nom de la collection
- Type:
str
- varnames
Liste des noms de variable
- Type:
list
Voir aussi
- __init__(datatype=None, name='series')[source]
Initialiser l’instance de <Series>.
- datatype
Type de la collection
- Type:
str
- name
Nom de la collection. Par défaut: “series”
- Type:
str
Methods
__init__([datatype, name])Initialiser l'instance de <Series>.
above_threshold([threshold, inplace])Seuiller.
add([serie, code, meta, overwrite, strict, ...])Ajouter une série hydrologique dans la collection.
apply_RatingCurves([curves, tocodes, ...])Appliquer les courbes de tarage à la série
apply_Reservoir([reservoir, tablename, ...])Pour chacune des séries: Appliquer le Z0 et un bareme de réservoir et créer une collections Series à partir de la série courante
apply_ReservoirTable([table, assoc, sim, ...])Appliquer un bareme de réservoir
apply_ReservoirZ0([reservoir, inplace])Appliquer le Z0 de réservoir
asobs()Convertir la collection en collection d'observations.
below_threshold([threshold, inplace])Remplacer les valeurs supérieures au seuil <threshold> par np.nan.
between_dates([first_dtime, last_dtime, inplace])Pour chacune des séries: Sous-echantillonner entre les dates <first_dtime> et <last_dtime>.
check_datatype([datatype])Contrôler le type de collection.
Contrôler si <Series> n'est pas vide.
check_plottype([plottype])Contrôler le type de figure.
Contrôler si la série est une instance <Serie>.
Contrôler si <Series> correspond à un unique code.
Contrôler si <Series> correspond à une unique date de run.
Contrôler si <Series> correspond à un unique nom de variable.
clear()concat([keys])Concaténer la collection en un seul DataFrame
copy()counter_missing([asconfig, codefrom])Déterminer le nombre de valeurs manquantes.
cumsum([skipna, inplace])Série des sommes cumulées.
describe([freqs, asconfig, bydate, codefrom])Déterminer les statistiques descriptives de chaque série.
describe_asconfig([freqs, codefrom])Déterminer les statistiques descriptives de chaque série.
describe_bydate([freqs])Déterminer les statistiques descriptives de chaque série.
downscale([toparam, dayhour, inplace])Désagréger à un pas de temps inférieur les séries de la collection,
errors([ref, absolute, relative, ...])Calculer les erreurs selon la série de référence.
etp_oudin([latitude, timestep, inplace])Modélisation de l'ETP par Oudin à partir de série de température et d'une valeur de latitude
events([threshold, engine, prominence, ...])Sélectionner les événements définis par un seuil.
extend([series, overwrite, strict])Alimenter la collection à partir d'une autre collection.
fill_constant([constant, inplace])Pour chacune des séries: Remplacer les valeurs manquantes par une valeur constante <constant> Si l'option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
fill_linear_interpolation([inplace])Pour chacune des séries: Remplacer les valeurs manquantes par une interpolation linéaire Si l'option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
find_annual_max([asconfig, codefrom, ...])Lister les maximas annuels.
find_annual_min([asconfig, codefrom, ...])Lister les minimas annuels.
fromkeys(iterable[, value])Create a new ordered dictionary with keys from iterable and values set to value.
get(key[, default])Return the value for key if key is in the dictionary, else default.
Lister des types de figures.
Types de collections de Serie.
items()Return a set-like object providing a view on the dict's items.
keys()Return a set-like object providing a view on the dict's keys.
max([asconfig, codefrom])Renvoyer le maximum de la série et la date associée.
min([asconfig, codefrom])Renvoyer le minimum de la série et la date associée.
move_to_end(key[, last])Move an existing element to the end (or beginning if last is false).
nearlyequalscale([toparam, strict, inplace])Ré-échantilloner une série à un pas de temps proche
percentile([keys, freqs, skipna])Déterminer les percentiles.
plot([plottype, filename, config, ...])Tracer une figure temporelle.
plot_bypandas([filename])Imprimer les série de données dans un fichier image.
plot_series([plottype, config, ...])Tracer une figure temporelle.
pop(key[,default])If the key is not found, return the default if given; otherwise, raise a KeyError.
popitem([last])Remove and return a (key, value) pair from the dictionary.
refresh()Rafraîchir les informations de la collection.
Rafraîchir la liste des codes.
Rafraîchir la liste des meta-données.
Rafraîchir la liste des noms de variable.
regime([groupby, freqs, dayhour, strict, ...])Calculer le régime de la chronique.
Définir la similarité du régime hydro avec les références Sauquet.
regularscale([inplace])Interpoler les séries de la collection d'un pas de temps irrégulier à un pas de temps régulier
replace_keys(assoc)Remplacer des clés de la collection.
set_timezone([timezone, inplace])Appliquer un nouveau fuseau horaire au contenu de l'instance de la classe Serie
setdefault(key[, default])Insert key with a value of default if key is not in the dictionary.
shift([periods, freq, inplace])Appliquer la méthode de pnd.DataFrame.shift à l'instance <Series>
sim2fcst([ref, first_dtime, last_dtime, ...])Convertir une simulation en prévision avec prise en compte de l'erreur à l'instant de prévision qui décroit linéairement avec l'échéance de prévision
socose()Déterminer les paramètrs D et RXD du modèle SOCOSE.
split([value, method])Pour chacune des séries: découper une collection de séries.
Standardiser la chronique par normalisation selon la valeur max.
stripna([inplace])Pour chacune des séries: Renvoyer de nouvelles séries sans les np.nan en début et fin de série Si l'option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
subhourlyscale([ts, how, howinterp, inplace])Interpoler les séries de la collection d'un pas de temps horaire à un pas de temps infra-horaire
timecentroid([asconfig, codefrom])Déterminer le centre de masse temporel de la série.
timelag([tlag, inplace])Pour chacune des séries: Décaler la série de données : - <tlag> Si <tlag> est une instance de <td>, - <tlag>*self.timestep Sinon Si l'option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
to_BdApbp([datatype, dirname])Créer un fichier de données MF à partir d'une instance Series
to_GRPRT_Archive([version, dirname])Créer un fichier de données GRP RT Archive à partir d'une instance Series
to_GRPRT_Data([version, dirname])Créer un fichier de données GRP RT Data à partir d'une instance Series
to_GRPRT_Metscen([version, dirname])Créer un fichier de données GRP RT Data à partir d'une instance Series
to_GRP_Data([dirname, version, how])Créer un fichier de données GRP Data à partir d'une instance Series
to_MF_Data([dirname, basename, asobs])Créer un fichier de données MF à partir d'une instance Series
to_PLATHYNES_Data([dirname, suffix, event, ...])Ecrire des fichiers d'observation (.mgr, .mqo, .mqi) pour PLATHYNES
to_Prevision19([filename, valid])Créer un fichier prv (Otamin, Scores) à partir d'une instance Series
to_PyspcFile([dirname, code, how, onefile, ...])Créer un fichier csv de type 'PyspcFile' à partir d'une instance Series
to_Sandre([datatype, dirname, basename, ...])Créer un fichier xml Sandre à partir d'une instance Series
to_csv([dirname, filename, keys])Export vers csv
to_prv([datatype, dirname, basename])Créer un fichier prv (Otamin, Scores) à partir d'une instance Series
to_xls([dirname, filename, sheetname, keys, ...])Export vers xls
update([E, ]**F)If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
upscale([toparam, dayhour, strict, inplace])Agréger/moyenner à un pas de temps supérieur les séries de la collection,
values()Return an object providing a view on the dict's values.
weighted_average([keys, weights, skipna])Calculer la moyenne pondérée.
Attributes
Liste des codes des séries.
Type de la collection.
Liste des méta-données des séries.
Nom de la collection.
Liste des noms de variable.
- above_threshold(threshold=None, inplace=False)
Seuiller.
Pour chacune des séries: Remplacer des valeurs inférieures au seuil <threshold> par la valeur manquante Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
threshold (int, float, dict) – Seuil à appliquer
inplace (bool) – Traiter en place (True) ou renvoyer une nouvelle instance (False) défaut: False
- Renvoie:
series – Nouvele collection de séries (si inplace:False)
- Type renvoyé:
- add(serie=None, code=None, meta=None, overwrite=False, strict=True, refresh=True)[source]
Ajouter une série hydrologique dans la collection.
- Paramètres:
code (str) – Code de la série. Si non défini, il correspond à serie.code
meta (None, str, tuple) – Autres méta-données de la série - série d’observations : meta = None - série de simulation : meta = model - série de prévision : meta = (runtime, scenario, complement)
overwrite (bool) – Écraser la donnée existante ? défaut: False
serie (Serie) – Instance de la série
strict (bool) – Contrôle strict de la cohérence de l’arguement meta et du type de collection de séries
refresh (bool) – Rafraîchir les informations de la collection. Par défaut: True
- apply_RatingCurves(curves=None, tocodes=None, extrapolation=False, inplace=False)
Appliquer les courbes de tarage à la série
- Paramètres:
curves (pyspc.core.ratingcurve.RatingCurves) – Courbes de tarage et de correction
tocodes (str, dict) –
- Codes des séries finales
si série de hauteurs, contient le code de la station
si série de débits, contient le code du site
extrapolation (bool, dict) – Autoriser les conversions hors plage de validité des courbes de tarage. Défaut: False
inplace (bool) – Nouvelle collection (False) ou ajout dans la collection (True)
- Renvoie:
series – Collection de Serie converties par courbes de tarage
- Type renvoyé:
- apply_Reservoir(reservoir=None, tablename=None, assoc=None, sim=False, inplace=False)
Pour chacune des séries: Appliquer le Z0 et un bareme de réservoir et créer une collections Series à partir de la série courante
- Paramètres:
reservoir (Reservoir) – Instance de reservoir.Reservoir
tablename (str) – Nom du bareme
assoc (dict) – Correspondance des colonnes de la table
sim (bool) – Définir les séries calculées comme étant des simulations. Défaut: False. Si True, le nom de la simulation est donné par reservoir.name
inplace (bool) – Nouvelle collection (False) ou ajout dans la collection (True)
- Renvoie:
series – Collection de Serie converties par le bareme
- Type renvoyé:
- apply_ReservoirTable(table=None, assoc=None, sim=False, inplace=False)
Appliquer un bareme de réservoir
- Paramètres:
tablename (pyspc.core.reservoir.Table) – Bareme du réservoir
assoc (dict) – Correspondance des colonnes de la table
sim (bool) – Définir les séries calculées comme étant des simulations. Défaut: False. Si True, le nom de la simulation est donné par table.name
inplace (bool) – Nouvelle collection (False) ou ajout dans la collection (True)
- Renvoie:
Collection de séries converties par le barème
- Type renvoyé:
- apply_ReservoirZ0(reservoir=None, inplace=False)
Appliquer le Z0 de réservoir
- Paramètres:
reservoir (pyspc.core.reservoir.Reservoir) – Instance de reservoir.Reservoir
inplace (bool) – Nouvelle collection (False) ou ajout dans la collection (True)
- Renvoie:
Série de données converties par l’application du Z0 du réservoir
- Type renvoyé:
pyspc.core.series.Serie
- asobs()[source]
Convertir la collection en collection d’observations.
Exemples
>>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = series * TYPE DE COLLECTION = fcst * NOMBRE DE SERIES = 2 * ---------------------------------- * SERIE #1 * - CODE = K0000000 * - VARNAME = QH * - META = 2014-11-04 00:00:00, 1 * ---------------------------------- * SERIE #2 * - CODE = K9999999 * - VARNAME = QH * - META = 2014-11-04 00:00:00, 1 *************************************
>>> series.asobs() ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = series * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 2 * ---------------------------------- * SERIE #1 * - CODE = K0000000_2014110400_1 * - VARNAME = QH * - META = None * ---------------------------------- * SERIE #2 * - CODE = K9999999_2014110400_1 * - VARNAME = QH * - META = None *************************************
- below_threshold(threshold=None, inplace=False)
Remplacer les valeurs supérieures au seuil <threshold> par np.nan.
Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
threshold (int, float) – Seuil à appliquer
inplace (bool) – Traiter en place (True) ou renvoyer une nouvelle instance (False) défaut: False
- Renvoie:
series – Nouvele collection de séries (si inplace:False)
- Type renvoyé:
- between_dates(first_dtime=None, last_dtime=None, inplace=False)
Pour chacune des séries: Sous-echantillonner entre les dates <first_dtime> et <last_dtime>. Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
first_dtime (datetime) – Première date à conserver
last_dtime (datetime) – Dernière date à conserver
inplace (bool) – Traiter en place (True) ou renvoyer une nouvelle instance (False) défaut: False
- Renvoie:
series – Collection de séries agrégées/moyennées (si inplace:False)
- Type renvoyé:
Voir aussi
- check_plottype(plottype=None)
Contrôler le type de figure.
- Paramètres:
plottype (str) – Type de figure
- Lève:
ValueError – Si lLe type de figure est incorrect
Voir aussi
- clear() None. Remove all items from od.
- property codes
Liste des codes des séries.
- concat(keys=None)
Concaténer la collection en un seul DataFrame
- Paramètres:
keys (list) – Clés des séries à concaténer Si non renseigné, la concaténation s’applique à toutes les séries de la collection
- Renvoie:
dframe – DataFrame des séries concaténées
- Type renvoyé:
pnd.DataFrame
- copy() a shallow copy of od
- counter_missing(asconfig=False, codefrom='series')
Déterminer le nombre de valeurs manquantes.
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
Informations sur les valeurs manquantes
- Type renvoyé:
pyspc.core.config.Config, dict
- cumsum(skipna=True, inplace=False)
Série des sommes cumulées.
- Paramètres:
skipna (bool) – Ignorer les valeurs manquantes? défaut: True
inplace (bool) – Traiter en place (True) ou renvoyer une nouvelle instance (False) défaut: False
- Renvoie:
series – Nouvele collection de séries (si inplace:False)
- Type renvoyé:
- property datatype
Type de la collection.
- describe(freqs=None, asconfig=False, bydate=False, codefrom='series')
Déterminer les statistiques descriptives de chaque série.
- Paramètres:
freqs (list) – Liste des fréquences, de 0 à 100
asconfig (bool) – Renvoyer une instance Config Ignoré si byrow est True
bydate (bool) – Réaliser date par date Par défaut: False. Si True, les séries sont concaténées et les statistiques sont renvoyées en tant qu’instance Series
codefrom (str) – Codification. Ignoré si byrow est True - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
si bydate:False et asconfig:False : dictionnaire des stats
si bydate:False et asconfig:True : instance Config des stats
si bydate:True : instance Séries
- Type renvoyé:
pyspc.core.config.Config, dict
- describe_asconfig(freqs=None, codefrom='series')
Déterminer les statistiques descriptives de chaque série.
- Paramètres:
freqs (list) – Liste des fréquences, de 0 à 100
codefrom (str) – Codification. Ignoré si byrow est True - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
Statistiques descriptives
- Type renvoyé:
- describe_bydate(freqs=None)
Déterminer les statistiques descriptives de chaque série.
- Paramètres:
freqs (list) – Liste des fréquences, de 0 à 100
- Renvoie:
Statistiques descriptives
- Type renvoyé:
- downscale(toparam=None, dayhour=6, inplace=False)
Désagréger à un pas de temps inférieur les séries de la collection,
- Paramètres:
toparam (Parameter, dict de Parameter) – Paramètre correspond au pas de temps ciblé
dayhour (int, dict de int) – Heure du début de la journée Nécessaire si la cible est un pas de temps journalier. Par défaut: 6. Valeurs admises: [0, 6]
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collection de séries agrégées/moyennées (si inplace:False)
- Type renvoyé:
- errors(ref=None, absolute=None, relative=None, relative_fromref=None, freqs=None, sample_ratio=None)
Calculer les erreurs selon la série de référence.
- Paramètres:
ref (Serie) – Série de référence
absolute (bool) – Erreur absolue ? Défaut: False
relative (bool) – Erreur relative ? Défaut: False
relative_fromref (bool) – Dénominateur depuis série de référence. Défaut: True
freqs (list) – Liste des fréquences, de 0 à 1
sample_ratio (float) – % mini de la taille des échantillons défaut: 0.9
- Renvoie:
samples (pnd.DataFrame) – erreurs par prévision et par échéance
stats (pnd.DataFrame) – statistiques des erreurs par échéance
- etp_oudin(latitude=None, timestep=None, inplace=False)
Modélisation de l’ETP par Oudin à partir de série de température et d’une valeur de latitude
- Paramètres:
latitude (float, dict de float) – Latitudes des séries
timestep (timedelta, dict de timedelta) – Pas de temps de la série d’ETP calculée (horaire ou journalier). Si non défini, la série d’ETP sera au même pas de temps que la série de température, si celui-ci est horaire ou journalier
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collections de séries des valeurs d’ETP
- Type renvoyé:
- events(threshold=None, engine='basic', prominence=None, width=None, before=None, after=None, filename=None, asconfig=False, codefrom='series')
Sélectionner les événements définis par un seuil.
- Paramètres:
threshold (float or dict) – Valeur du seuil
engine (str or dict) – Méthode de calcul parmi [“basic”, “scipy”] Par défaut: “basic” Si “scipy”: utilise scipy.find_peaks()
prominence (float or dict) – Paramètre pour scipy
width (float or dict) – Paramètre pour scipy
before (float or dict) – Paramètre pour scipy
after (float or dict) – Paramètre pour scipy
filename (str or dict) – Paramètre pour scipy
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
pyspc.core.config.Config, dict –
Dictionnaire des événements
clé (datetime) – jour du max
valeur (dict) – Informations sur l’événement - “start” : date de début - “end” : date de fin - “dtmax” : date de la valeur maximale - “max” : valeur maximale - “name” : nom de l’événement (jour du max en str) - None sinon
.. seealso:: Voir la documentation de Serie.events
- extend(series=None, overwrite=False, strict=True)[source]
Alimenter la collection à partir d’une autre collection.
- Paramètres:
series (Series) – Collection d’origine
overwrite (bool) – Écraser la donnée existante ? défaut: False
strict (bool) – Contrôle strict de la cohérence de la collection à ajouter et de la collection de destination
- fill_constant(constant=None, inplace=False)
Pour chacune des séries: Remplacer les valeurs manquantes par une valeur constante <constant> Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
constant (int, float) – Valeur constante
inplace (bool) – Traitement en place (True) ou renvoyer une nouvelle collection (False). Par défaut: False
- Renvoie:
Nouvelle collection si inplace=False
- Type renvoyé:
Voir aussi
- fill_linear_interpolation(inplace=False)
Pour chacune des séries: Remplacer les valeurs manquantes par une interpolation linéaire Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
inplace (bool) – Traitement en place (True) ou renvoyer une nouvelle collection (False). Par défaut: False
- Renvoie:
Nouvelle collection si inplace=False
- Type renvoyé:
- find_annual_max(asconfig=False, codefrom='series', to_samples=False, exclusion_threshold=None)
Lister les maximas annuels.
Année hydrologique : 01/09/aaaa-1 - 31/08/aaaa
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
to_samples (bool) – Exporter en tant que pyspc.core.samples.Sample ? Par défaut: False
exclusion_threshold (float) – Si “to_sample” est True, ce seuil permet de définir les exclusions. Si “pmv” >= seuil, alors la valeur est exclue.
- Renvoie:
- pyspc.core.config.Config
- pyspc.core.samples.Samples
- dict
Notes
- Si le retour est un dictionnaire, il est structuré ainsi :
clé : année
- valeurdictionnaire
max : valeur du max
maxdt : instant du max
pmv : %age de valeurs manquantes dans l’année
- find_annual_min(asconfig=False, codefrom='series', to_samples=False, exclusion_threshold=None)
Lister les minimas annuels.
Année civile : 01/01/aaaa - 31/12/aaaa
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
to_samples (bool) – Exporter en tant que pyspc.core.samples.Sample ? Par défaut: False
exclusion_threshold (float) – Si “to_sample” est True, ce seuil permet de définir les exclusions. Si “pmv” >= seuil, alors la valeur est exclue.
- Renvoie:
- pyspc.core.config.Config
- pyspc.core.samples.Samples
- dict
Notes
- Si le retour est un dictionnaire, il est structuré ainsi :
clé : année
- valeurdictionnaire
min : valeur du min
mindt : instant du min
pmv : %age de valeurs manquantes dans l’année
- classmethod fromkeys(iterable, value=None)
Create a new ordered dictionary with keys from iterable and values set to value.
- get(key, default=None, /)
Return the value for key if key is in the dictionary, else default.
- classmethod get_plottypes()
Lister des types de figures.
- Renvoie:
Types de figures
- Type renvoyé:
list
- items()
Return a set-like object providing a view on the dict’s items.
- keys()
Return a set-like object providing a view on the dict’s keys.
- max(asconfig=False, codefrom='series')
Renvoyer le maximum de la série et la date associée.
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
clé : clé de la série dans la collection
valeur : (maximum de la série, date associée)
- Type renvoyé:
pyspc.core.config.Config, dict
- property meta
Liste des méta-données des séries.
- min(asconfig=False, codefrom='series')
Renvoyer le minimum de la série et la date associée.
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
clé : clé de la série dans la collection
valeur : (minimum de la série, date associée)
- Type renvoyé:
pyspc.core.config.Config, dict
- move_to_end(key, last=True)
Move an existing element to the end (or beginning if last is false).
Raise KeyError if the element does not exist.
- property name
Nom de la collection.
- nearlyequalscale(toparam=None, strict=True, inplace=False)
Ré-échantilloner une série à un pas de temps proche
- Paramètres:
toparam (Parameter, dict de Parameter) – Paramètre correspond au pas de temps ciblé
strict (bool, dict de bool) – Calcul strict, imposant np.nan dans la valeur agrégée si au moins un pas de temps initial vaut np.nan. Retire de la série les pas de temps où les données d’origine ne sont pas complètes Défaut: True
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collection de séries ré-échantillonnées (si inplace:False)
- Type renvoyé:
SerieS
- percentile(keys=None, freqs=None, skipna=True)
Déterminer les percentiles.
- Paramètres:
keys (list) – Clés des séries à considérer Si non renseigné, la méthode s’applique à toutes les séries de la collection
freqs (list) – Liste des fréquences, de 0 à 100
skipna (bool) – Ignorer les NaN ? - False : utiliser numpy.npercentile - True : utiliser numpy.nanpercentile
- Renvoie:
series – Nouvele collection de séries
- Type renvoyé:
Notes
Le nommage des séries dépend de la nature de la collection
obs : (“NomDeLaCollection-freq”, varname, None)
fcst, avec modèle unique : (station, varname, (runtime, model, “percentile”, freq))
fcst, avec multi-modèle : (station, varname, (runtime, “NomDeLaCollection”, “percentile”, freq))
- plot(plottype=None, filename=None, config=None, fill_threshold=None, fill_reverse=None, uncert=None)
Tracer une figure temporelle.
- Paramètres:
plottype (str) – Type de figure. Si non défini, la figure est tracée par pandas
filename (str) – Nom du fichier de l’image, si impression par défaut (pandas)
config (Config, dict) – Configuration de la figure et des coubes. Les clés des options des courbes correspondent au keyseries. Voir aussi pyspc.core.keyseries
fill_threshold (dict) – Dictionnaire des séries utilisées pour tracer les incertitudes Les clés des incertitudes correspondent au keyseries. Les valeurs sont des tuples (seuil, couleur) Voir aussi pyspc.core.keyseries
fill_reverse (bool) – Affichage du volume au-dessus (False) ou en-dessous du seuil. Par défaut: False
uncert (dict) – Dictionnaire des séries utilisées pour tracer les incertitudes Les clés des incertitudes correspondent au keyseries. Voir aussi pyspc.core.keyseries
- Renvoie:
filename – Nom du fichier image créé
- Type renvoyé:
str
Notes
Les options config et uncert sont utilisées uniquement si plottype est parmi Series.get_plottypes()
- plot_bypandas(filename=None)
Imprimer les série de données dans un fichier image.
- Paramètres:
filename (str) – Nom du fichier de l’image
- Renvoie:
filename – Nom du fichier de l’image
- Type renvoyé:
str
- plot_series(plottype=None, config=None, fill_threshold=None, fill_reverse=None, uncert=None)
Tracer une figure temporelle.
- Paramètres:
plottype (str) – Type de figure
config (Config, dict, filename) – Configuration de la figure et des coubes. Les clés des options des courbes correspondent au keyseries. Voir aussi pyspc.core.keyseries
fill_threshold (dict) – Dictionnaire des séries utilisées pour tracer les incertitudes Les clés des incertitudes correspondent au keyseries. Les valeurs sont des tuples (seuil, couleur) Voir aussi pyspc.core.keyseries
fill_reverse (bool) – Affichage du volume au-dessus (False) ou en-dessous du seuil. Par défaut: False
uncert (dict) – Dictionnaire des séries utilisées pour tracer les incertitudes Les clés des incertitudes correspondent au keyseries. Voir aussi pyspc.core.keyseries
- Renvoie:
filename – Nom du fichier image créé
- Type renvoyé:
str
- pop(key[, default]) v, remove specified key and return the corresponding value.
If the key is not found, return the default if given; otherwise, raise a KeyError.
- popitem(last=True)
Remove and return a (key, value) pair from the dictionary.
Pairs are returned in LIFO order if last is true or FIFO order if false.
- regime(groupby=None, freqs=None, dayhour=6, strict=True, ignore_upscale=False, dirname=None, boxplot=False, fill=False)
Calculer le régime de la chronique.
- Paramètres:
groupby (str) – Regroupement des données - “dayofyear” : par jour de l’année (défaut) - “month” : par mois
freqs (list) – Fréquences des quantiles, entre 0 et 1. Par défaut: [0.10, 0.25, 0.50, 0.75, 0.90]
dayhour (int) – Heure du début de la journée Nécessaire si la cible est un pas de temps journalier. Par défaut: 6. Valeurs admises: [0, 6]
strict (bool) – Calcul strict, imposant np.nan dans la valeur agrégée si au moins un pas de temps initial vaut np.nan. Retire de la série les pas de temps où les données d’origine ne sont pas complètes Défaut: True
ignore_upscale (bool) – Ignorer la mise à l’échelle. Défaut: False. Si le paramètre est cumulable, ignore_upscale est mis à False
dirname (str, None) – Répertoire des exports. Si non défini, les régimes hydrologiques sont directement renvoyés sous la forme de tuples - dictionnaire de pandas.DataFrame, - dictionnaire de matplotlib.pyplot.figure
boxplot (bool) – Tracer les quantiles sous forme de boxplot (True) ou d’enveloppes quantiliques (False). Par défaut: False.
fill (bool) – Remplir les boxplots/enveloppes quantiliques. Par défaut: False
- Renvoie:
- si dirname n’est pas défini –
- regimesdict
Tableaux du régime hydrologique contenant les minimas, maximas, moyennes et les quantiles associées aux fréquences spécifiées
- figsdict, None
Images matplotlib des régimes hydrologiques
- si dirname est défini –
- csv_filenamesdict
Fichiers csv exportés, dont le nom générique est keyserie_regime-groupby.csv
- png_filenamesdict
Fichiers png exportés, dont le nom générique est keyserie_regime-groupby.png
Notes
Les clés des dictionnaires renvoyés correspondent aux clés des séries de la collection
Voir aussi
- regime_sauquet()
Définir la similarité du régime hydro avec les références Sauquet.
- Renvoie:
regimes – Dictionnaire des régimes normalisés et des régimes Sauquet clé: clé de la série dans la collection valeur : {“norm”: régime normalisé, “regimes”: régimes Sauquet}
- Type renvoyé:
dict
Voir aussi
- regularscale(inplace=False)
Interpoler les séries de la collection d’un pas de temps irrégulier à un pas de temps régulier
- Paramètres:
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collection de séries à un pas de temps régulier (si inplace:False)
- Type renvoyé:
- replace_keys(assoc)[source]
Remplacer des clés de la collection.
- Paramètres:
assoc (dict) – Dictionnaire de correspondance entre les anciennes (clé) et nouvelles clés de la collection (valeur)
- set_timezone(timezone=<UTC>, inplace=True)
Appliquer un nouveau fuseau horaire au contenu de l’instance de la classe Serie
- Paramètres:
timezone (pytz) – Date de la dernière valeur valide
inplace (bool) – Traitement en place (True) ou renvoyer une nouvelle collection (False). Par défaut: True
- Renvoie:
Nouvelle collection si inplace=False
- Type renvoyé:
Voir aussi
- setdefault(key, default=None)
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- shift(periods=None, freq=None, inplace=True)
Appliquer la méthode de pnd.DataFrame.shift à l’instance <Series>
- Paramètres:
periods (timedelta) – Période
freq (timedelta) – Fréquence
inplace (bool) – Traitement en place (True) ou renvoyer une nouvelle collection (False). Par défaut: True
- Renvoie:
Nouvelle collection si inplace=False
- Type renvoyé:
Voir aussi
- sim2fcst(ref=None, first_dtime=None, last_dtime=None, error_depth=0, max_ltime=120)
Convertir une simulation en prévision avec prise en compte de l’erreur à l’instant de prévision qui décroit linéairement avec l’échéance de prévision
- Paramètres:
ref (Serie) – Série de référence
error_depth (int) – Durée de prise en compte de l’erreur, en pas de temps. Défaut: 0
first_dt (datetime) – Premier instant de prévision
last_dt (datetime) – Dernier instant de prévision
max_ltime (int) – Horizon de prévision maximal, en pas de temps. Défaut: 120
- Renvoie:
series – Collection de prévisions
- Type renvoyé:
- socose()
Déterminer les paramètrs D et RXD du modèle SOCOSE. - D : durée au-dessus du débit standardisé valant 0.5 (Q/Qp) - RXD : rapport du débit de pointe sur le débit moyen sur D
- Renvoie:
socose – Valeurs SOCOSE par clé de la collection - col: {“d”: d, “rxd”: rxd}
- Type renvoyé:
dict
- split(value=None, method=None)
Pour chacune des séries: découper une collection de séries.
- Paramètres:
value (int, float, list, dict) – Valeur d’application de la méthodologie
method (str, dict) –
Méthodologie de découpage de la série (N=value) - “chunks” : N blocs en cherchant une taille homogène - “chunk_size” : blocs de taille identique N - “days” : fréquence de N jours (N=value) - “groups” : regroupements fournis sous la forme d’un DataFrame
de même dimension que la série
”dates” : découpage selon une liste de dates fournies sous la forme de datetime.datetime
- Renvoie:
Collection de séries
- Type renvoyé:
Notes
Les paramètres sont à fournir soit sous la forme attendue par Serie.split (voir plus bas), soit sous la forme d’un dictionnaire où la clé est la clé associée à la série dans la collection courante.
L’homogénéité des tailles des blocs par “chunksize” n’est pas garantie.
Voir aussi
Exemples
>>> series ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = series * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 4 * ---------------------------------- * SERIE #1 * - CODE = K0000000 * - VARNAME = QH * - META = None * ---------------------------------- * SERIE #2 * - CODE = K9999999 * - VARNAME = QH * - META = None * ---------------------------------- * SERIE #3 * - CODE = K3333333 * - VARNAME = QH * - META = None * ---------------------------------- * SERIE #4 * - CODE = K4444444 * - VARNAME = QH * - META = None *************************************
>>> splits = series.split(value=3, method='chunks') >>> splits ************************************* ********** SERIES ******************* ************************************* * NOM DE LA COLLECTION = series_split * TYPE DE COLLECTION = obs * NOMBRE DE SERIES = 12 * ---------------------------------- * SERIE #1 * - CODE = K0000000 * - VARNAME = QH * - META = split-0 * ---------------------------------- * SERIE #2 * - CODE = K0000000 * - VARNAME = QH * - META = split-1 * ---------------------------------- * SERIE #3 * - CODE = K0000000 * - VARNAME = QH * - META = split-2 * ---------------------------------- * SERIE #4 * - CODE = K9999999 * - VARNAME = QH * - META = split-0 * ---------------------------------- * SERIE #5 * - CODE = K9999999 * - VARNAME = QH * - META = split-1 * ---------------------------------- * SERIE #6 * - CODE = K9999999 * - VARNAME = QH * - META = split-2 * ---------------------------------- * SERIE #7 * - CODE = K3333333 * - VARNAME = QH * - META = split-0 * ---------------------------------- * SERIE #8 * - CODE = K3333333 * - VARNAME = QH * - META = split-1 * ---------------------------------- * SERIE #9 * - CODE = K3333333 * - VARNAME = QH * - META = split-2 * ---------------------------------- * SERIE #10 * - CODE = K4444444 * - VARNAME = QH * - META = split-0 * ---------------------------------- * SERIE #11 * - CODE = K4444444 * - VARNAME = QH * - META = split-1 * ---------------------------------- * SERIE #12 * - CODE = K4444444 * - VARNAME = QH * - META = split-2 *************************************
- standardize()
Standardiser la chronique par normalisation selon la valeur max.
L’index est un timedelta depuis la date du maxi. Cette chronique standardisée est utilisée par la méthode socose
- Renvoie:
df – Tableau des données standardisées
- Type renvoyé:
pandas.DataFrame
Voir aussi
pyspc.core.serie.Serie.standardize,pyspc.core.serie.Series.socose
- stripna(inplace=False)
Pour chacune des séries: Renvoyer de nouvelles séries sans les np.nan en début et fin de série Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
inplace (bool) – Traiter en place (True) ou renvoyer une nouvelle instance (False) défaut: False
- Renvoie:
series – Collection de séries agrégées/moyennées (si inplace:False)
- Type renvoyé:
Voir aussi
- subhourlyscale(ts=None, how=None, howinterp=None, inplace=False)
Interpoler les séries de la collection d’un pas de temps horaire à un pas de temps infra-horaire
- Paramètres:
ts (timedelta, dict de timedelta) – Pas de temps infra-horaire entre 1 min et 1h Par défaut: 5 minutes
how (str, dict de str) – Méthode de ré-échantillonnage parmi: [“bfill”, “ffill”, “nearest”, “interpolate”]
howinterp (str, dict de str) – Méthode d’interpolation Par défaut: “linear”
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collection de séries infra-horaires (si inplace:False)
- Type renvoyé:
- timecentroid(asconfig=False, codefrom='series')
Déterminer le centre de masse temporel de la série.
- Paramètres:
asconfig (bool) – Renvoyer une instance Config
codefrom (str) – Codification depuis - “serie” : code défini par l’attribut code de l’objet Serie - “series” : code défini par la clé dans la collections Series Valeur par défaut.
- Renvoie:
clé : clé de la série dans la collection
valeur : date du centre de masse
- Type renvoyé:
pyspc.core.config.Config, dict
Voir aussi
- timelag(tlag=None, inplace=True)
Pour chacune des séries: Décaler la série de données : - <tlag> Si <tlag> est une instance de <td>, - <tlag>*self.timestep Sinon Si l’option <inplace> est définie à False, alors cette méthode crée une nouvelle instance <Series>
- Paramètres:
tlag (int, float, timedelta) – Période
inplace (bool) – Traitement en place (True) ou renvoyer une nouvelle collection (False). Par défaut: True
- Renvoie:
Nouvelle collection si inplace=False
- Type renvoyé:
Voir aussi
- to_BdApbp(datatype=None, dirname='.')
Créer un fichier de données MF à partir d’une instance Series
- Paramètres:
datatype (str) – Type de fichier json
dirname (str) – Répertoire où écrire le fichier
- Renvoie:
filenames – Liste des noms de fichiers créés
- Type renvoyé:
list
- to_GRPRT_Archive(version='2016', dirname='.')
Créer un fichier de données GRP RT Archive à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire le fichier
version (str) – Version de GRP parmi [“grp16”, “2016”, “grp18”, “2018”, “grp20”, “2020”]. Par défaut: “2016”
- Renvoie:
filename – Liste des noms des fichiers créés
- Type renvoyé:
list of str
- to_GRPRT_Data(version='2016', dirname='.')
Créer un fichier de données GRP RT Data à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire le fichier
version (str) – Version de GRP parmi [“grp16”, “2016”, “grp18”, “2018”, “grp20”, “2020”, “grp22”, “2022”]. Par défaut: “2016”
- Renvoie:
filename – Liste des noms des fichiers créés
- Type renvoyé:
list of str
- to_GRPRT_Metscen(version='2016', dirname='.')
Créer un fichier de données GRP RT Data à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire le fichier
version (str) – Version de GRP parmi [“grp16”, “2016”, “grp18”, “2018”, “grp20”, “2020”]. Par défaut: “2016”
- Renvoie:
filename – Liste des noms des fichiers créés
- Type renvoyé:
list of str
- to_GRP_Data(dirname='.', version='2016', how='replace')
Créer un fichier de données GRP Data à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire le fichier
version (str) – Version de GRP parmi [“grp16”, “2016”, “grp18”, “2018”, “grp20”, “2020”, “grp22”, “2022”]. Par défaut: “2016”
how (str) –
- Option d’écriture
replace : écraser si un fichier existe déjà (défaut)
fillna : mettre à jour le fichier existant (seulement les NaN et les valeurs aux instants non existants)
overwrite : mettre à jour le fichier existant (toutes les valeurs, y compris les non-NaN)
- Renvoie:
filename – Liste des noms des fichiers créés
- Type renvoyé:
list of str
- to_MF_Data(dirname='.', basename=None, asobs=True)
Créer un fichier de données MF à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire le fichier
basename (str) – Nom du fichier. Si non défini, le “name” de la collection sera utilisé
asobs (bool) – Si False, les identifiants proviennent du 1er élément de la clé Si True, les identifiants proviennent des 1er et dernier éléments Cette option est utile s’il s’agit d’une collection de prévisions Défaut: True
- Renvoie:
filename – Noms des fichiers créés
- Type renvoyé:
list
- to_PLATHYNES_Data(dirname='.', suffix=None, event=None, injections=None)
Ecrire des fichiers d’observation (.mgr, .mqo, .mqi) pour PLATHYNES
- Paramètres:
dirname (str) – Répertoire de destination
suffix (dict) – Association entre les stations hydrométriques (grandeur: Q) et les suffixes des noms de fichier
event (str) – Identifiant de l’événement. Si non défini, reprend le nom de la collection
injections (dict) – Indiquer si une série (clé=code de la série) est une injection pour PLATHYNES (valeur: True/False)
- Renvoie:
filenames – Fichiers créés
- Type renvoyé:
list
- to_Prevision19(filename=None, valid=False)
Créer un fichier prv (Otamin, Scores) à partir d’une instance Series
- Paramètres:
filename (str) – Chemin de la base de données de type Prevision19
valid (bool) – Seulement les prévisions validées (True) ou toutes les prévisions produites (False) Défaut: False
Voir aussi
pyspc.data.prevision.Prevision19,pyspc.data.prevision.Prevision19.insert_fcst
- to_PyspcFile(dirname='.', code=None, how='replace', onefile=False, explicitcolname=False)
Créer un fichier csv de type “PyspcFile” à partir d’une instance Series
- Paramètres:
dirname (str) – Répertoire où écrire les fichiers
code (str) – Identifiant de la collection, utilisé si onefile = True et si la collection contient plusieurs stations Si non défini, le “name” de la collection sera utilisé
onefile (bool) – Enregister la collection dans un unique fichier. Défaut: False Si la collection ne contient qu’une série, alors cette option est ignorée
explicitcolname (bool) – Forcer le nommage explicite des colonnes. Défaut: False
how (str) –
Option d’écriture, uniquement si onefile = False - replace : écraser si un fichier existe déjà (défaut) - fillna : mettre à jour le fichier existant
(seulement les NaN et les valeurs aux instants non existants)
overwrite : mettre à jour le fichier existant (toutes les valeurs, y compris les non-NaN)
Si onefile = True, le fichier existant est écrasé.
- Renvoie:
filenames – Liste des noms de fichiers créés
- Type renvoyé:
list
- to_Sandre(datatype=None, dirname='.', basename=None, runtime=None, sender=None, user=None, target=None)
Créer un fichier xml Sandre à partir d’une instance Series
- Paramètres:
datatype (str) – Type de fichier json
dirname (str) – Répertoire où écrire le fichier
runtime (datetime) – Date de production de la donnée/prévision. Si non défini, la date est dt.utcnow()
sender (str) – Identifiant de l’emetteur
user (str) – Identifiant du contact
target (str) – Identifiant du destinataire
basename (str) – Nom du fichier. Si non défini, le “name” de la collection sera utilisé
- Renvoie:
filenames – Liste des noms de fichiers créés
- Type renvoyé:
list
- to_csv(dirname='.', filename=None, keys=None)
Export vers csv
- Paramètres:
dirname (str) – Répertoire du fichier csv
filename (str) – Fichier csv à écrire. Si non défini, le nom du fichier repose sur le nom de la collection
keys (list) – Clés des séries à concaténer. Si non renseigné, la concaténation s’applique à toutes les séries de la collection
- Renvoie:
filename – Fichier csv créé
- Type renvoyé:
str
- to_prv(datatype=None, dirname='.', basename=None)
Créer un fichier prv (Otamin, Scores) à partir d’une instance Series
- Paramètres:
datatype (str) – Type de fichier json
dirname (str) – Répertoire où écrire le fichier
basename (str) – Nom du fichier. Si non défini, le “name” de la collection sera utilisé
- Renvoie:
filename – Noms du fichiers créé
- Type renvoyé:
str
- to_xls(dirname='.', filename=None, sheetname=None, keys=None, overwrite=True)
Export vers xls
- Paramètres:
dirname (str) – Répertoire du fichier xls
sheet_name (str) – Feuille à écrire. Si non défini, le nom de la feuille repose sur le nom de la collection
filename (str) – Fichier xls. Si non défini, le nom du fichier repose sur le nom de la collection
keys (list) – Clés des séries à concaténer. Si non renseigné, la concaténation s’applique à toutes les séries de la collection
overwrite (bool) – Ecraser le fichier ? Si False, un fichier existant est complété
- Renvoie:
filename (str) – Fichier csv créé
.. warning:: Cette méthode nécessite l’import de la
bibliothèque tierce pandas.ExcelWriter
.. warning:: Cette méthode nécessite l’import de la
bibliothèque tierce xlwt
- update([E, ]**F) None. Update D from mapping/iterable E and F.
If E is present and has a .keys() method, then does: for k in E.keys(): D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- upscale(toparam=None, dayhour=6, strict=True, inplace=False)
Agréger/moyenner à un pas de temps supérieur les séries de la collection,
- Paramètres:
toparam (Parameter, dict de Parameter) – Paramètre correspond au pas de temps ciblé
dayhour (int, dict de int) – Heure du début de la journée Nécessaire si la cible est un pas de temps journalier. Par défaut: 6. Valeurs admises: [0, 6]
strict (bool, dict de bool) – Calcul strict, imposant np.nan dans la valeur agrégée si au moins un pas de temps initial vaut np.nan. Retire de la série les pas de temps où les données d’origine ne sont pas complètes Défaut: True
inplace (bool) – Si True: Ajouter les séries agrégées dans la collection courante. Si False, créer une nouvelle collection de séries
- Renvoie:
series – Collection de séries agrégées/moyennées (si inplace:False)
- Type renvoyé:
- values()
Return an object providing a view on the dict’s values.
- property varnames
Liste des noms de variable.
- weighted_average(keys=None, weights=None, skipna=True)
Calculer la moyenne pondérée.
- Paramètres:
keys (list) – Clés des séries à considérer Si non renseigné, la méthode s’applique à toutes les séries de la collection
weights (int, float, dict) –
Pondération uniforme (si int, float)
Dictionnaire des poids à appliquer {ident série : poids}
skipna (bool) – Ignorer les NaN ? - False : utiliser numpy.average - True : utiliser numpy.ma.average
- Renvoie:
series – Nouvele collection de séries
- Type renvoyé: