Sondage

Inheritance diagram of 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é

ListeSondage

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é

SerieIntention

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é

Sondage

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é

SerieIntention

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