TP3 : Analyse de données avec PANDAS.
Partie 2 : Fichiers de données
Introduction.
- L'analyse de fichiers de données est essentielle pour extraire des informations utiles.
- Pandas, l'une des bibliothèques Python les plus populaires dans ce domaine.
- Offre des outils puissants et flexibles pour manipuler et analyser des données structurées.
- Charger facilement des fichiers de différents formats (tels que CSV, Excel, JSON, etc.)
- Explorer leur contenu, nettoyer les données, effectuer des transformations et préparer les jeux de données pour une analyse plus approfondie ou une modélisation statistique/machine learning.
- Les structures de données principales de Pandas :
- DataFrame
- Series
- permettent de travailler avec des données tabulaires de manière intuitive.
- Grâce à ses fonctions intégrées, Pandas simplifie des tâches comme :
- Le filtrage et la sélection de données
- Le tri et le regroupement
- Le traitement des valeurs manquantes
- La manipulation de dates et heures
- L’agrégation et les statistiques descriptives
3. Fichier de donnée : CSV et excel
3.1. Téléchargement et contrôle de type
In [ ]:
# Charger le fichier csv
import pandas as pd
df = pd.read_csv('dataset_chimique 2.csv')
df
In [ ]:
#Accès par chemin
df2 = pd.read_csv('C:/Users/Akharraz/PyDataAnaysis/donnees_tomates_100lignes.csv')
df2
In [ ]:
# Contrôle des types
print("type du frame :", df.dtypes)
# Types d'une colonne
print("type de la colonne masemolaire : ", df['Masse molaire (g/mol)'].dtype)
In [ ]:
# Convertir les valeurs non numériques en NaN
s = pd.Series(['10', '20', 'trente', ' ', '40'])
t=pd.to_numeric(s, errors='coerce')
#df['Masse molaire (g/mol)'] = pd.to_numeric(df['Masse molaire (g/mol)'], errors='coerce')
In [ ]:
print("s=\n",s)
print("t=\n",t)
3.2. Gestion des valeurs manquantes
In [ ]:
# Afficher combien de valeurs sont manquantes par colonne.
df.isna().sum()
#print(df.isna().sum())
In [ ]:
# Remplacer les NaN par la moyenne
# Calculer la moyenne
mean_molar_mass = df['Masse molaire (g/mol)'].mean()
print(mean_molar_mass)
# Remplacer les NaN par la moyenne # dans le dataframe
df['Masse molaire (g/mol)'] = df['Masse molaire (g/mol)'].fillna(mean_molar_mass)
#point_ebul = df['Point d\'ébullition (°C)'].mean()
#point_ebul
3.3. Statistiques par variable numérique
In [ ]:
# Statistiques descriptives générales
print(df.describe(include='all'))
In [ ]:
# Masse molaire
print("Masse molaire :")
print(df['Masse molaire (g/mol)'].dtype)
In [ ]:
# Solubilité
print("Solubilité (logS) :")
print(df['Solubilité (logS)'].describe())
3.4. Corrélations entre variables numériques
In [ ]:
df_tom = pd.read_csv('feuilles_tomates.csv')
df_tom
In [ ]:
print(df_tom['Humidité_sol_pourcentage'].dtype)
In [ ]:
T=pd.to_numeric(df_tom['Humidité_sol_pourcentage'])
T
In [ ]:
# colonnes ou variableqs à corréler
colonnes_cor = df_tom[['Humidité_sol_pourcentage', 'Lumière_heures_jour']]
# Matrice de corrélation
corr_tom = corr_tom1.corr()
print(corr_tom)
In [ ]:
# Matrice de corrélation
numeric_df = df[['Masse molaire (g/mol)', 'Solubilité (logS)']]
corr_matrix = numeric_df.corr()
print(corr_matrix)
In [ ]:
# matrice sous forme de heatmap
import seaborn as sns
import matplotlib.pyplot as plt
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.title('Matrice de corrélation')
plt.show()
In [ ]:
# Histogrammes et distributions
df.hist(column=['Masse molaire (g/mol)', 'Solubilité (logS)', 'Point d\'ébullition (°C)'],
bins=5, figsize=(12, 8))
plt.tight_layout()
plt.show()
In [ ]:
Aucun commentaire:
Enregistrer un commentaire