Tools4AS

tools4AS.py module

API reference

pyphyschemtools.tools4AS.ApplySecondeChance(df, nomCC, nomCCSC, nomCCdelaSC)[source]

modification du dataframe df

entrée :
  • df = dataframe auquel on va ajouter une nouvelle colonne nomCCSC qui va contenir la note de la colonne nomCC soit celle de la colonne nomCCdelaSC, si cell-ci est supĂ©rieure Ă  la notede nomCC

  • nomCC = nom de la colonne Ă  laquelle on applique la seconde chance

  • nomCCSC = nom de la nouvelle colonne qui contient la note du CC aprĂšs application de la seconde chance

  • nomCCdelaSC = nom de la colonne qui contient la note “seconde chance

sortie :
  • moyenne aprĂšs application de la seconde chance

  • Ă©cart-type aprĂšs application de la seconde chance

pyphyschemtools.tools4AS.BoiteAMoustachesByMentionEtParcours(df, Moyenne, Mention, Parcours, NomGraphique)[source]
pyphyschemtools.tools4AS.BoiteAMoustachesByMentionEtParcoursHue(df, Moyenne, Mention, Parcours, NomGraphique)[source]
pyphyschemtools.tools4AS.ComparaisonMoyennesDMCC(df, nomCC1, nomCC2, SeuilBadDMCC1, SeuilGoodDMCC1)[source]
entrée :
  • df = dataframe avec uniquement les Ă©tudiants AJ ou ADM, c’est-Ă -dire qu’il n’y a aucun fantĂŽme

  • nomCC1 = en-tĂȘte de la colonne de df qui contient la note du premier CC

  • nomCC2 = en-tĂȘte de la colonne de df qui contient la note du 2nd CC

  • SeuilBadDMCC1 = Seuil en-dessous duquel la note au nomCC1 est considĂ©rĂ©e comme mĂ©diocre

  • SeuilGoodDMCC1 = Seuil au-deçà duquel la note au nomCC1 est considĂ©rĂ©e comme bonne

affichage :
  • moyenne au nomCC2 de la cohorte d’étudiant(e)s
    • en-dessous du SeuilBadDMCC1 au nomCC1

    • au-dessus du SeuilGoodDMCC1 au nomCC1

    • entre les deux seuils au nomCC1

  • jointplot entre nomCC1 et nomCC2 uniquement pour les Ă©tudiant(e)s dont la note au CC1 est considĂ©rĂ©e comme mĂ©diocre

pyphyschemtools.tools4AS.CreationDfADMAJGH(df, note, Seuil, prefix, MD, Parc, IDApoG)[source]
entrée :
  • df = dataframe avec les mentions/parcours/moyennes

  • note = nom de la colonne qui contient la moyenne globale

  • Seuil = seuil de rĂ©ussite pour dĂ©partager ADM & AJ

  • prefix = prĂ©fixe du nom de fichier temporaire, incluant ou nom le nom d’un sous-rĂ©pertoire de sauvegarde

  • MD = nom de la colonne qui contient la dĂ©nomination simplifiĂ©e de la mention de diplĂŽme (“MentionD”)

  • Parc = nom de la colonne qui contient le parcours

  • IDApoG = nom de la colonne qui contient l’ID des Ă©tudiants

sortie :
  • dfADM = dataframe des admis

  • dfAJ = dataframe des ajournĂ©s

  • dfGhosts = dataframe des fantĂŽmes (aka Ghosts ; i.e. n’ont passĂ© aucun des CC)

affichage : stats rapides (describe & sum) de chacun des sous-ensembles ADM, AJ, Ghosts

sauvegarde : fichier excel tmp{Note}.xlsx avec 3 onglets (ADM, AJ, Ghosts)

pyphyschemtools.tools4AS.Histogrammes(df, nomCC, Moyenne, NomGraphique, w, moy, std, moyT, stdT, legende)[source]
entrée :
  • df = dataframe qui contient ID, Noms, PrĂ©noms, notes de CC, et Moyenne pondĂ©rĂ©e

  • nomCC = liste qui contient noms d’en-tĂȘtes des colonnes qui contiennent les notes de CC

  • Moyenne = nom de l’en-tĂȘte de la colonne qui contient la moyenne

  • NomGraphique = nom du fichier png qui va contenir la figure

  • w = liste qui contient les coeffs des CC

  • moy = liste qui contient la moyenne de chaque CC

  • std = liste qui contient l’écart-type calculĂ© pour chaque CC

  • moyT = moyenne des 4 CC

  • stdT = Ă©cart-type calculĂ© pour la note globale

  • legende = titre qui sera affichĂ© sur l’histogramme principal

affichage :
  • 1 petit histogramme /CC

  • 1 grand histogramme avec la moyenne

sauvegarde :
  • fichier graphique ‘NomGraphique’ avec 1 petit histogramme par CC + 1 grand histogramme avec la moyenne

pyphyschemtools.tools4AS.MentionAuModule(note, Seuil)[source]
entrée :
  • note = valeur numĂ©rique ou NaN

  • Seuil = seuil de rĂ©ussite

sortie :
  • m = mention au module (AJ, P, AB, B, TB ou PB!! dans le cas oĂč la colonne contiendrait une valeur numĂ©rique non comprise entre 0 et 20, ou bien toute autre contenu (caractĂšres etc)

pyphyschemtools.tools4AS.RenameDfHeader(dfCC, dfCCname, labelNoteCC, nomCC)[source]
entrée :
  • dfCC = dataframe dont 1 colonne contient les notes de CC

  • dfCCname = nom (string) du dataframe. Il est recommandĂ© d’utiliser f’{dfCC=}’.split(‘=’)[0]

  • labelNoteCC = label de la colonne qui contient les notes

  • nomCC = label de l’épreuve de CC (ex CC1), utilisĂ© pour l’affichage

sortie : aucune

la fonction change le nom ‘labelNoteCC’ en ‘nomCC’

pyphyschemtools.tools4AS.ReplaceABSByNan(df, nomCC)[source]
entrée :
  • dataframe qui contient les notes

  • nom des colonnes qui contiennent les notes

sortie
  • nouveau dataframe oĂč toutes les notes des colonnes nomCC = ABS sont remplacĂ©es par des nan

pyphyschemtools.tools4AS.ReplaceNanBy0(df, nomCC)[source]
pyphyschemtools.tools4AS.ReplaceNanBy0OLD(df, nomCC)[source]
entrée :
  • df = dataframe avec les notes

  • nomCC = liste des en-tĂȘtes de colonnes qui contiennt les notes

sortie :
  • le dataframe avec Nan remplacĂ© par 0 pour chaque Ă©tudiant qui a au moins une note de CC

pyphyschemtools.tools4AS.StackedBarPop(df, ListCols, ylabel, NomGraphique)[source]
entrée :
  • df : dataframe contenant l’analyse statistique globale, dont les moyennes, effectifs, etc. i.e. le dataframe renvoyĂ© par StatsRĂ©ussiteParMentionOuParcours()

  • ListCols = liste avecles labels des colonnes contenant les valeurs numĂ©riques qu’on veut tracer comme un histogramme empilĂ©

  • ylabel = label de l’axe des y

  • NomGraphique = nom du fichier png qui va ĂȘtre sauvĂ©

affichage :
  • bar plot empilĂ© de pandas

sauvegarde :

fichier graphique ‘NomGraphique’ au format png

pyphyschemtools.tools4AS.StackedBarPopPO(dfRef, Mention, Parcours, NomGraphique)[source]
entrée :
  • dfRef : dataframe contenant la liste des Ă©tudiants avec leur Mention et leur otpion, tel que gĂ©nĂ©rĂ© par mentionD()

  • Mention = nom de la colonne qui contient le nom simplifiĂ© d’une Mention

  • Parcours = nom de la colonne qui contient la version simplifiĂ©e d’un Parcours

  • NomGraphique = nom du fichier png qui va ĂȘtre sauvĂ©

affichage :
  • histplot “hue” de seaborn, cĂ d les effectifs par Parcours empilĂ©s pour chaque Mention

sauvegarde :

fichier graphique ‘NomGraphique’ au format png

pyphyschemtools.tools4AS.StatsRĂ©ussiteParMentionOuParcours(dfT, dfADM, dfAJ, dfGhosts, Category, note)[source]
entrée :
  • dfT = dataframe qui contient toutes les notes, ainsi qu’au moins une catĂ©gorisation (exemple : Mention ou Parcours ou Section etc
)

  • dfADM = dataframe qui contient uniquement les Ă©tudiants admis

  • dfAJ = dataframe qui contient uniquement les Ă©tudiants ajournĂ©s (sans les fantĂŽmes)

  • dfGhosts = dataframe qui contient la liste des fantĂŽmes

  • Category = nom de la colonne sur laquelle on veut faire des analyses statistiques

  • note = nom de la colonne qui contient la note qu’on veut analyser par catĂ©gorie (gĂ©nĂ©ralement la moyenne finale)

sortie :
  • dfStats

affichage :

pyphyschemtools.tools4AS.StatsRĂ©ussiteParMentionOuParcoursWithAb(dfT, dfADM, dfAJ, dfGhosts, dfAb, Category, note)[source]
entrée :
  • dfT = dataframe qui contient toutes les notes, ainsi qu’au moins une catĂ©gorisation (exemple : Mention ou Parcours ou Section etc
)

  • dfADM = dataframe qui contient uniquement les Ă©tudiants admis

  • dfAJ = dataframe qui contient uniquement les Ă©tudiants ajournĂ©s (sans les fantĂŽmes)

  • dfGhosts = dataframe qui contient la liste des fantĂŽmes

  • dfAb = dataframe qui contient la liste des Ă©tudiants qui ont abandonnĂ©

  • Category = nom de la colonne sur laquelle on veut faire des analyses statistiques

  • note = nom de la colonne qui contient la note qu’on veut analyser par catĂ©gorie (gĂ©nĂ©ralement la moyenne finale)

sortie :
  • dfStats

affichage :

pyphyschemtools.tools4AS.checkNoID_DuplicateID(df, dfname, ID, nom, NomPrenom)[source]
pyphyschemtools.tools4AS.concat2ApoG(df2Complete, ID_ApoG, dfCC, Col2SaveInCC, IDCC, nomCC)[source]
entrée :
  • df2Complete = dataframe Ă  complĂ©ter (merge = ‘left’)
    • au premier appel, ce soit ĂȘtre le fichier de RĂ©fĂ©rence

    • ensuite c’est le fichier de notes lui-mĂȘme, en cours d’update

  • ID_ApoG = label de la colonne qui contient les numĂ©ros Ă©tudiants dans le fichier de rĂ©fĂ©rence

  • dfCC = dataframe dont 1 colonne contient les notes de CC

  • Col2SaveInCC = liste avec les en-tĂȘtes de colonnes qui contiennent les colonnes de dfCC Ă  reporter dans dfNotes

  • IDCC = label de la colonne qui contient les numĂ©ros Ă©tudiants dans le fichier de notes

  • nomCC = Ă  ce stade, c’est aussi bien le label de la colonne qui contient les notes que le label de l’épreuve de CC (ex CC1), utilisĂ© pour l’affichage

sortie :
  • le dataframe dfNotes. Contient la version concatĂ©nĂ©e du dataframe d’entrĂ©e df2complete et certaines colonnes du dataframe des notes dfCC ([Col2SaveInCC + IDCC + nomCC])

  • un dataframe dfnotFoundInRef qui contient la liste des Ă©tudiants qui sont dans le fichier de notes et pas dans le fichier de rĂ©fĂ©rence

affichages :
  • liste des Ă©tudiants qui sont dans le fichier de notes et pas dans le fichier de rĂ©fĂ©rence

pyphyschemtools.tools4AS.css_styling()[source]
pyphyschemtools.tools4AS.dropColumnsByIndex(df, idropC)[source]
entrée :
  • df = dataframe dont on veut supprimer des colonnes

  • idropC = indices des colonnes dont on veut se dĂ©barasser

sortie :
  • dfCleaned = dataframe originel dont les colonnes indexĂ©es par idropC ont Ă©tĂ© supprimĂ©es

pyphyschemtools.tools4AS.kdePlotByMentionEtParcours(df, Moyenne, Mention, Parcours, NomGraphique)[source]
entrée :
  • df = dataframe qui contient ID, Noms, PrĂ©noms, notes de CC, Moyenne pondĂ©rĂ©e, Mention et Parcours

  • Mention = nom de l’en-tĂȘte de la colonne qui contient la Mention de diplĂŽme simplifiĂ©e d’un Ă©tudiant

  • Parcours = nom de l’en-tĂȘte de la colonne qui contient le parcours suivi par un Ă©tudiant

affichage :
  • 1 graphe avec des plots kde par Mention

  • 1 graphe avec des plots kde par Parcours

sauvegarde :
  • fichier graphique ‘NomGraphique’ avec les 2 graphes

pyphyschemtools.tools4AS.mentionD(row, Mention)[source]
pyphyschemtools.tools4AS.parcours(row, Parcours)[source]
pyphyschemtools.tools4AS.plotTauxADMasBars(dfwoSC, dfwSC, xCol, hueCol, NomGraphique)[source]
entrée :
  • dfwoSC = dataframe contenant les stats ADM/AJ/Ghosts avant l’application de la seconde chance

  • dfwSC = dataframe contenant les stats ADM/AJ/Ghosts aprĂšs l’application de la seconde chance

  • xCol = nom de la colonne qui contient les taux de rĂ©ussite

  • hueCol = nom de la colonne qui contient les paramĂštres avant ou aprĂšs seconde chance

  • NomGraphique = nom du fichier png qui va ĂȘtre sauvĂ©

affichage :
  • bar plot de seaborn

sauvegarde :

fichier graphique ‘NomGraphique’ au format png

pyphyschemtools.tools4AS.read_excel(xlFile, decimal, name)[source]
entrée :
  • xlFile = nom du ficher excel

  • decimal = “.” ou “,” selon le cas

  • name = label du dataframe, utilisĂ© pour l’affichage

sortie :
  • le dataframe qui contient l’intĂ©gralitĂ© du fichier excel

  • le nombre de lignes de ce tableau (Ă  l’exclusion de l’en-tĂȘte des colonnes)

affichage :
  • statistiques descriptives (describe) de toutes les colonnes, y compris celles qui ne contiennent pas de valeurs numĂ©riques

pyphyschemtools.tools4AS.verifNotes(dfCC, labelNoteCC, nomCC, NI, absents='aabs')[source]
Parameters:
  • CC (- nomCC = label de l'Ă©preuve de)

  • notes (- labelNoteCC = label de la colonne qui contient les)

  • CC

  • module (- NI = nombre d'inscrits dans le)

  • absents (-) –

    • ‘aabs’ : analyser s’il y a des Ă©tudiants qui n’ont pas Ă©tĂ© pointĂ©s au CC (dĂ©faut)

    • ’noabs’ne pas analyser s’il y a des Ă©tudiants qui n’ont pas Ă©tĂ© pointĂ©s au CC

      (ça n’a plus de sens une fois les fichiers concatĂ©nĂ©s)

Returns:

  • la moyenne et la dĂ©viation standard de liste de notes contenues dans le dataframe dfCC

  • le nombre d’étudiants qui n’ont pas composĂ© au CC

Note

Affiche le nombre d’étudiants avec le label ‘ABS’ et signale les Ă©tudiants sans note ni label, ce qui nĂ©cessite une vĂ©rification du PV.