Analyse de données en Python¶
Quelques concepts¶
- Data scientist : un data scientist est un professionnel qui utilise des techniques statistiques et informatiques pour analyser et interpréter des données.
- Data mining : le data mining est le processus d'exploration et d'analyse de grandes quantités de données pour découvrir des modèles et des tendances cachés.
- Variance : la variance est une mesure de la dispersion des valeurs d'un ensemble de données. Elle est calculée comme la moyenne des carrés des écarts entre les données et la moyenne.
- Ecart type : l'écart type est une mesure de la dispersion des valeurs d'un ensemble de données. Il est calculé en prenant la racine carrée de la variance.
- Quartiles : les quartiles sont des valeurs qui divisent un ensemble de données trié par ordre croissant en quatre parties égales. Le premier quartile (Q1) est la valeur en dessous de laquelle se trouve le premier quart des données, le deuxième quartile (Q2) est la médiane, et le troisième quartile (Q3) est la valeur en dessous de laquelle se trouve les trois quarts des données.
- Valeur aberrante : une valeur aberrante est une valeur qui s'écarte significativement du reste des données. Les valeurs aberrantes peuvent fausser les résultats d'une analyse statistique et doivent être traitées avec prudence.
- Diagramme en boîte : un diagramme en boîte est un graphique qui représente la distribution des valeurs d'un ensemble de données. Il est composé de cinq éléments : la médiane, les quartiles, les valeurs minimales et maximales, et les valeurs aberrantes.
- Modèle d'IA ou de Machine Learning: une sorte de condensé ou de résumé de la base de données d'entrainement.
- LLM: Large Language Model. Un modèle d'IA entraîné sur une colossale base de données et qui est spécialisé dans la discussion en langage naturel.
- Exemples de LLM: GPT-3 et GTP-4o (développé par OpenAI), Gemini (développé par Google AI), Claude (développé par Anthropic), Mistral 7B (développé par Mistral AI), etc.
- langchain est une libraire qui permet d'interroger les API des fournisseurs d'IA/LLM (OpenAI, Google AI, Mistral, etc.).
Préparation à la pratique¶
Ficiher requirements utilisé dans ce notebook
Créer un environnement virtuel python -m venv .venv
et l'activer sous Linux/Mac source .venv/bin/activate
et sous windows .\.venv\Scripts\activate
Pandas¶
Pandas est une librairie Python qui permet de manipuler des données de manière simple et efficace. Elle est basée sur deux structures de données principales : les Series
et les DataFrame
. Les Series
sont des tableaux unidimensionnels, tandis que les DataFrame
sont des tableaux bidimensionnels. Les DataFrame
offrent également des fonctionnalités avancées telles que le filtrage et l'agrégation des données.
Les DataFrame
supportent également le traitement de données manquantes et la fusion de plusieurs ensembles de données. Les DataFrame
permettent également d'effectuer des opérations de jointures entre différents ensembles de données, ce qui facilite l'analyse de données complexes.
import pandas as pd
data = {
'Année': [2017, 2018, 2019, 2020, 2021],
'Ventes': [250, 300, 400, 450, 500]
}
df = pd.DataFrame(data)
df.head()
Année | Ventes | |
---|---|---|
0 | 2017 | 250 |
1 | 2018 | 300 |
2 | 2019 | 400 |
3 | 2020 | 450 |
4 | 2021 | 500 |
df["Année"].max()
np.int64(2021)
df.describe()
Année | Ventes | |
---|---|---|
count | 5.000000 | 5.000000 |
mean | 2019.000000 | 380.000000 |
std | 1.581139 | 103.682207 |
min | 2017.000000 | 250.000000 |
25% | 2018.000000 | 300.000000 |
50% | 2019.000000 | 400.000000 |
75% | 2020.000000 | 450.000000 |
max | 2021.000000 | 500.000000 |
Suivons les tutos officiels
Graphiques avec Pandas et Matplotlib¶
Matplotlib est souvent utilisé en conjonction avec Pandas pour effectuer des visualisations. Voici un exemple de création d'un graphique à partir d'un DataFrame Pandas.
import pandas as pd
import matplotlib.pyplot as plt
# Création d'un DataFrame
data = {
'Année': [2017, 2018, 2019, 2020, 2021],
'Ventes': [250, 300, 400, 450, 500]
}
df = pd.DataFrame(data)
# Visualisation des données
plt.plot(df['Année'], df['Ventes'], marker='o')
plt.title('Ventes annuelles')
plt.xlabel('Année')
plt.ylabel('Ventes')
plt.grid(True)
plt.show()