0% ont trouvé ce document utile (0 vote)
3 vues2 pages

Test Python Data Analyst Master

Le document est un test Python axé sur l'analyse de données, divisé en plusieurs parties. Il couvre des concepts Python, le nettoyage de données, l'analyse des données, la visualisation, ainsi que des réflexions sur la qualité et la performance des données. Les candidats doivent démontrer leur capacité à manipuler des données avec des outils comme pandas et matplotlib tout en respectant des critères de performance et de lisibilité.

Transféré par

g.oumbiat
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
3 vues2 pages

Test Python Data Analyst Master

Le document est un test Python axé sur l'analyse de données, divisé en plusieurs parties. Il couvre des concepts Python, le nettoyage de données, l'analyse des données, la visualisation, ainsi que des réflexions sur la qualité et la performance des données. Les candidats doivent démontrer leur capacité à manipuler des données avec des outils comme pandas et matplotlib tout en respectant des critères de performance et de lisibilité.

Transféré par

g.oumbiat
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Test Python — Analyse de Données

Durée : 2h30 à 3h

Outils autorisés : Python, pandas, numpy, matplotlib.

PARTIE A — Concepts Python


Répondre brièvement :

1. Différence entre list, tuple, set, dict

2. Mutable vs immutable

3. map / filter / comprehension

4. Complexité list vs set

5. Pourquoi éviter [Link](axis=1) en pandas ?

PARTIE B — Data Cleaning


Un dataset CSV est fourni.

Écrire une fonction clean_transactions(df) qui :

- Convertit date en datetime (gérer erreurs)

- Nettoie amount (espaces, texte → NaN)

- Normalise city (trim, casse, ABJ → Abidjan)

- category en minuscules

- payment_status : PAID / FAILED / UNKNOWN

- Supprime doublons

Produire un rapport avec :

nb_lignes_initial, nb_lignes_final,

nb_dates_invalides, nb_amount_invalides, nb_doublons_supprimes

PARTIE C — Analyse
À partir des données clean :

1. CA total PAYÉ par ville


2. Top 2 catégories par montant payé

3. Ticket moyen par client

4. Clients suspects : refund + total payé > 0

PARTIE D — Visualisation
Avec matplotlib :

- Bar chart CA payé par ville

- Histogramme montants payés

- Boxplot montants par ville

PARTIE E — Qualité & Performance

E1. Refactor

proposer 2 améliorations :

 lisibilité (fonctions, noms, structure)


 performance (vectorisation, éviter apply, éviter copies)

E2. Mini test unitaires

Écrire 3 tests simples (sans framework o) :

 date parsing sur “02/01/2026”


 mapping ABJ → Abidjan
 conversion “12 000” → 12000

PARTIE F — Réflexion Data

Explique :

1. Pourquoi une valeur négative peut être normale ?


2. Quelle métrique est robuste aux outliers : moyenne vs médiane ?
3. Quelle est la différence entre missing et invalid (et comment tu traites chacun) ?

Vous aimerez peut-être aussi