mhaz / SCEI-statistics

Explore statistics data from SCEI (Service de Concours Ecoles d'Ingénieurs).
4 stars 3 forks source link

Also offer SQLite file(s) for the TSV data as easily explorable datasets #2

Open Naereen opened 3 years ago

Naereen commented 3 years ago

Hi again, Also, I am very interested in these datasets, I would like to have SQLite files (or just one file) containing the data.

When doing data exploration, on such "small" databases, I like to do everything using SQL from Jupyter notebooks. It can be done from a Python notebook, with ipython-sql, or with pandas and Pandas-SQL, to have a really neat interface (any result of a SQL query is a pandas dataframe which is nicely displayed, which can be plotted easily etc).

It seems more efficient to me than using a specific Jupyter kernel, like xeus-sqlite or xeus-sql.

Tell me if you're interested and able to do this yourself, or I'll come back in a couple of months and do it myself. Thanks, regards from Rennes in France, @Naereen

mhaz commented 3 years ago

For now I am just extracting the data from the html tables. The data is poorly formatted so the process is ad-hoc. This is the reason why I first want to go year by year, "filiere" by "filiere". Although there will first be multiple files, I expect to eventually summarize them all in one place -- this is the reason why for example https://github.com/mhaz/SCEI-statistics/blob/master/src/stats_generales/2020/2020_tsi.tsv has a column for the year and the "filiere" -- once I get everything in an easy to read format, for now tsv.

Since the data has inconsistencies, I have not yet decided on what the final dataset will look like, for instance:

As you suggest this data set is small enough to be loaded entirely in memory. For the first step, I think I'll go with just pandas. I am interested with your idea of gathering the data in an SQL database. As mentioned above, data from SCEI isn't consistent, so I don't have a a clear idea on what the database schema would look like. If you just want a sql format and don't care if it's "flat", then I guess it's only a matter of concatenating all the files, and using .import on a sqlite prompt? If you have something interesting you want to add, don't hesitate to make a pull request.

Naereen commented 3 years ago

Thanks @mhaz for the detailed comment, it's very interesting. I'm not (yet) an expert on creating SQL database, and I hadn't given much thoughts about the possible database schema, before opening this issue. I was more thinking about the end usage of having this database: as databases and SQL are taught in scientific CPGE in France, since 2013, it would be quite an interesting example, instead of working on boring and tiny databases about movies or whatnot.

I'll try to come back to this project when I have more free time, and try to get a tiny SQL(ite) database, even if it means having just one year, or one "filière".

Regards! @Naereen

mhaz commented 3 years ago

Il n'y avait pas de SQL ni de Python lorsque j'etais en prepa, seulement une poignee de TP de Maple en sup (et rien au concours). Les nouveaux programmes ont l'air plus interessant, avec du Python et SQL, et des proba/stats en math.

Si tu veux une petite base de donnee pour un TP, les statistiques par lycees ont l'air mieux formatees.

Par contre, elles n'ont pas ete publiees en 2020, et pour certaines filieres, il y a des annes ou elles ne sont pas disponibles non plus.

J'ai pas encore commence a les mettre en forme, mais je compte m'y mettre lorsque j'aurai fini avec les statistiques generales.

Naereen commented 3 years ago

Alors nous avons les mêmes souvenirs de l'informatique en prépa ;-) j'ai fait du Maple en 2009/2011 aussi ! Que de progrès depuis...

Je ne suis pas pressé, je reviendrai voir plus tard si les statistiques ici sont plus complètes. Mais rien qu'en l'état, ce dépôt contient déjà des choses utiles, je m'en servirai :ok_hand: ! Bien joué et merci !

mhaz commented 2 years ago

Salut,

J'ai ajoute les nouvelles statistiques de 2021. Depuis 2020, il y a seulement les statistiques generales et plus celles par lycees. En regardant de plus pres, les chiffres ne sont pas coherents: il y a par exemples des fois ou il y a plus d'admissibles que d'inscrits. J'ai envoye un mail a la SCEI il y a un mois, mais pas de reponse. Voici le mail:

Bonjour,

Il me semble qu'il y a des incoherences dans les chiffres des statistiques. En regardant les statistiques par lycees pour differentes annees et concours a partir de https://www.scei-concours.fr/statistiques.php, j'ai par exemple trouve:

En 2009, pour le concours de l'X en PC: Fès, Lycée Moulay Idriss (99926711) (0, 0, 8, 1, 1, 0, 1, 0) qui n'a aucun eleve inscrit mais 8 eleves admissibles, 1 classe et 1 integre. Je compte 180 cas ou aucun eleve n'est inscrit.

En 2010, pour le concours de l'X en MP: Tunis, IPEST (99926211) (1, 0, 3, 0, 3, 0, 3, 0) qui a 3 eleves integres mais seulement 1 inscrit. Je compte 28 cas ou le nombre total d'eleves integres est superieur au nombre d'eleves inscrits.

En 2012, pout le concours g2e en BCPST: Lyon, Lycée La Martinière Monplaisir (0692866R) (7, 1, 11, 5, 8, 4, 1, 0) qui a 8 eleves classes mais 7 inscrits. Je compte 50 cas ou le nombre d'eleves classes est superieur au nombre d'eleves inscrits.

En 2012 pour le concours g2e en BCPST: Paris Cedex 05, Lycée Henri IV (0750654D) (9, 7, 24, 16, 12, 11, 0, 0) qui a 24 eleves admissibles mais 9 inscrits. Je compte 162 cas ou le nombre total d'eleves admissibles est superieur au nombre d'eleves inscrits.

En 2007 pour le concours g2e en BCPST: Nantes, Lycée Clémenceau (0440021J) (6, 3, 15, 10, 11, 7, 6, 4) qui a 4 filles integrees mais 3 inscrites. Je compte 10 cas ou le nombre d'eleves filles integrees est superieur au nombre d'eleves filles inscrites.

En 2012 pour le concours Mines-Ponts en PC: Tunis, IPEST (99926211) (26, 9, 24, 10, 11, 4, 6, 1) qui a 10 filles admissibles mais 9 filles inscrites. Je compte 146 cas ou le nombre d'eleves filles admissibles est superieur au nombre d'eleves inscrites.

En 2013, pour le concours Centrale-Supelec en TSI: Albi, Lycée Louis Rascol (0810004P) (26, 3, 20, 4, 13, 4, 8, 4) qui a 4 filles classees mais 3 inscrites. Je compte 48 cas ou le nombre d'eleves filles classees est superieur au nombre d'eleves filles inscrites.

En 2006 pour le concours Mines-Ponts en PSI: Aix-En-Provence, Lycée Militaire (0131596P) (2, 0, 3, 0, 2, 0, 0, 0) qui a 3 - 0 = 3 garcons admissibles mais 2 - 0 = 2 garcons inscrits. Je compte 134 cas ou le nombre d'eleves garcons admissibles est superieur au nombre d'eleves garcons admissibles.

En 2006 pour le concours e3a en MP: Sceaux, Lycée Lakanal (0920145H) (21, 6, 22, 6, 22, 6, 5, 0) qui a 22 - 6 = 16 garcons classes mais 21 - 6 = 15 garcons integres. Je compte 47 cas ou le nombre d'eleves garcons classes est superieur au nombre d'eleves garcons admissibles.

En 2010 pour le concours de l'X en MP: Tunis, IPEST (99926211) (1, 0, 3, 0, 3, 0, 3, 0) qui a 3 - 0 = 0 garcons integres mais 1 - 0 = 1 garcon inscrit. Je compte 28 cas ou le nombre d'eleves garcons integres est superieur au nombre d'eleves garcons admissibles.

Cela fait en tout 442 / 42372 de cas incoherents, soit 1.04% de donees incoherentes. Je remarque aussi que les seuls cas ou les comparaisons sont incoherentes sont en rapport avec le nombre d'inscrits. Je n'ai pas trouve d'incoherences entre les nombres d'admissibles, classes et integres.

Est-ce une erreur de saisie des donnes? Est-ce que mon interpretation des chiffres est erronee?

Bien cordialement,

Je pense qu'il s'agit d'erreurs de saisie puisqu'il y a par exemple des fautes de frappes dans d'autres endroits, comme les noms des villes et lycees, et des espaces et "\n" redondants. Les erreurs decrites sont seulement celles qui rendent les resultats aberants. Il y en a peut etre d'autres indetectables automatiquement, par exemple une une augmentation du nombre d'eleves inscrits ou diminution du nombre d'integres. Je n'ai pas encore essaye de croiser les statistiques par lycees et les statistiques generales.