Sondage¶
Classes pour la gestion des sondages.
- module
sondage
- author
Anathexis
- author
Yoann LE BARS
Ce programme est sous contrat de distribution CeCILL v2.1. Vous pouvez le modifier et le redistribuer, à la condition que vous en citiez l’auteur original et que vous ne changez pas le contrat de distribution.
Le texte complet du contrat est disponible dans le fichier « LICENSE » et à l’adresse suivante :
https://cecill.info/licences/Licence_CeCILL_V2.1-fr.html
-
class
sondage.
ListeSondage
¶ Classe pour la gestion des sondages.
- Paramètres
liste (List[Sondage]) – Liste regroupant les différents sondages.
liste_serie_intention (List[SerieIntention]) – Ensemble des intentions de votes (par candidat).
-
create_dataframe_from
() → pandas.core.frame.DataFrame¶ Méthode pour créer un dataframe reprenant les données de chaque point de sondage de façon dénormalisée. Le dataframe a six colonnes :
sondage_index (int) : l’index du sondage dans la liste ;
sondage_start_date (date) : la date de début du sondage ;
sondage_end_date (date) : la date de fin du sondage ;
sondage_sample_size (int) : la taille de l’échantillon sondé par le sondage ;
candidate_name (str) : le nom du candidat sondé ;
candidate_sondage_score (float) : le score du candidat dans le sondage associé.
La combinaison sondage_index et candidate_name est une clé unique.
- Renvoie
Dataframe dénormalisé reprenant les données de chaque point de sondage, y inclus nans là où le candidat n’a pas été testé.
- Type renvoyé
pd.DataFrame
-
classmethod
create_sondage_list_from_csv_reader
(lecteur_courant: Iterator[List[str]], nom_fichier_courant: os.PathLike) → sondage.ListeSondage¶ Créé la liste de sondages à partir d’un reader de CSV formaté selon les spécifications données dans la documentation. S’invoque à partir de la classe, de cette façon:
from sondage import ListeSondage with open(os.path.join('path','to','file'), newline = '', encoding = 'utf-8') as file: my_reader = csv.reader(fichier) ListeSondage.create_sondage_list_from_csv_reader(my_reader)
- Paramètres
lecteur_courant (Iterator[List[str]]) – Itérateur (pouvant par exemple être retourné lors de la lecture d’un fichier csv)
nom_fichier_courant (os.PathLike) – Nom du fichier contenant les sondages.
- Renvoie
Une instance de la liste des sondages
- Type renvoyé
- Lève
NbJoursInco – Si jamais il n’y a pas le même nombre de dates de début et de fin de sondage.
NbEchantillonsInco – Si jamais il n’y a pas le même nombre de dates de sondage que d’échantillons de sondés.
FinAvantDebut – Si jamais une date de fin de sondage est antérieure à la date de début du même sondage.
-
display_sondage
(index, full_display: bool = False)¶ Méthode permettant d’afficher les différents scores des candidats dans un même sondage.
- Paramètres
index – Index du sondage à afficher.
full_display – Détermine l’affichage des données vides : oui si true, non si false.
-
get_candidate_serie
(candidate_name: str) → sondage.SerieIntention¶ Retourne la série de points de sondes du candidat demandé.
- Paramètres
candidate_name (str) – Nom du candidat à traiter.
- Renvoie
Série de points de sondes du candidat demandé.
- Type renvoyé
-
get_durees
() → numpy.ndarray¶ Renvoie la liste des durées des différents sondages (en secondes).
- Renvoie
Liste de durées des sondages (en secondes).
- Type renvoyé
np.ndarray[np.timedelta64]
-
get_sondage
(index) → sondage.Sondage¶ Permet de récupérer un sondage en donnant son index dans la liste.
- Paramètres
index – Index du sondage à récupérer.
- Renvoie
Sondage à l’index demandé.
- Type renvoyé
-
get_start_dates
() → numpy.ndarray¶ Renvoie la liste des dates de début des différents sondages.
- Renvoie
liste des dates de début des sondages.
- Type renvoyé
np.ndarray[np.datetime64]
-
property
sample_size_array
¶ Renvoie la liste des tailles d’échantillons des différents sondages.
- Renvoie
Liste des tailles d’échantillons des sondages.
- Type renvoyé
np.ndarray[int]
-
class
sondage.
SerieIntention
(nom_candidat: str, couleur_candidat: str, nom_fichier_courant: os.PathLike, serie_sondage: numpy.ndarray, liste_sondage: sondage.ListeSondage)¶ Classe décrivant les séries de point de sondages d’un candidat.
- Paramètres
nom_candidat (str) – Nom du candidat à traiter.
couleur_candidat (str) – Couleur associée au candidat.
_nomFicher (os.PathLike) – Chemin d’accès vers le fichier contenant les sondages.
serie_sondage (np.ndarray) – Liste des intentions de votes associées au candidat.
liste_sondage (ListeSondage) – Référence à la liste de sondages associée afin de permettre un traitement plus aisé.
available_days (np.array) – Liste des jours de sondages.
-
classmethod
create_serie_from_csv_line
(nom_fichier_courant: os.PathLike, csv_line: List[str], liste_sondage: sondage.ListeSondage) → sondage.SerieIntention¶ Créé la série de points de sondages à partir d’une ligne d’un reader de CSV formaté selon les spécifications données dans la documentation. En pratique s’utilise rarement seul.
- Paramètres
nom_fichier_courant (os.PathLike) – Chemin d’accès vers le fichier contenant les sondages.
csv_line (List[str]) – Liste stockant le contenu de la ligne courante du fichier CSV.
liste_sondage (ListeSondage) – Description à compléter.
- Renvoie
La série de points de sonde liée au candidat.
- Type renvoyé
- Lève
CouleurInvalideV2 – Si jamais un nom de couleur invalide est renseigné.
-
get_confidence_array
(q: float) → numpy.ndarray¶ Calcul les intervalles de confiance.
- Paramètres
q (float) – Paramètre de correction de l’intervalle de confiance.
- Renvoie
Array des intervalles de confiance.
- Type renvoyé
np.ndarray[float]
-
get_extrapolation
()¶ Renvoie l’extrapolation des sondages.
- Renvoie
Un polynôme permettant l’extrapolation.
-
property
normalised_serie
¶ Convertie une série en pourcentage en une série normalisée dans [1 ; 0].
- Renvoie
La série normalisée.
- Type renvoyé
np.ndarray[float]
-
property
s
¶ Calcul la correction de l’intervalle de confiance.
- Renvoie
La liste des corrections.
- Type renvoyé
np.ndarray[float]
-
classmethod
sanity_checks_serie
(nom_fichier_courant: os.PathLike, nom_candidat: str, serie: numpy.ndarray, bounds: List[float] = [0.0, 100.0]) → numpy.ndarray¶ Méthode permettant de s’assurer que les points de sonde sont inclus dans un intervalle donné, par défaut [0, 100].
- Paramètres
nom_fichier_courant – Chemin d’accès au fichier contenant les sondages.
nom_candidat – Nom du candidat courant.
serie (np.ndarray) – Série d’intentions de votes à valider.
bounds (List[float]) – Bornes minimum et maximum.
- Renvoie
La série si pas d’erreur, une exception sinon.
- Type renvoyé
np.ndarray[float]
- Raises
IntentionHorsLimites si une valeur est en dehors de l’intervalle.
-
property
w
¶ Calcul du poids des sondages.
- Renvoie
La liste des poids.
- Type renvoyé
np.ndarray[float]
-
class
sondage.
Sondage
(date_debut: datetime.datetime, date_fin: datetime.datetime, echantillon: int, liste_sondage: sondage.ListeSondage, nom_fichier_courant: os.PathLike, index: int)¶ Classe pour la gestion des sondages.
- Paramètres
date_debut (datetime) – Date de début du sondage.
date_fin (datetime) – Date de fin du sondage.
echantillon (int) – Taille de l’échantillon.
liste_sondage (ListeSondage) – Liste des intentions de votes.
-
property
day
¶ Retourne la date de milieu de sondage, considérée comme point d’extrapolation.
- Renvoie
Date du milieu de sondage.
- Type renvoyé
datetime
-
property
duree
¶ Retourne la durée du sondage.
- Renvoie
Durée du sondage.
- Type renvoyé
timedelta