-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatavis.py
More file actions
53 lines (42 loc) · 1.66 KB
/
datavis.py
File metadata and controls
53 lines (42 loc) · 1.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from wordcloud import WordCloud
# Charger le dataset (remplace 'ton_fichier.csv' par le vrai nom du fichier)
df = pd.read_csv("dataset.csv")
# Afficher un aperçu du dataset
print("📌 Aperçu du dataset :")
print(df.head())
# Afficher les informations du dataset
print("\n📊 Informations générales du dataset :")
print(df.info())
# Vérifier les valeurs manquantes
print("\n🔍 Valeurs manquantes par colonne :")
print(df.isnull().sum())
# Nombre de maladies uniques
print("\n🦠 Nombre de maladies uniques :", df["Disease"].nunique())
# Liste des maladies uniques
print("\n📋 Liste des maladies :")
print(df["Disease"].unique())
# Compter les maladies les plus fréquentes
top_diseases = df["Disease"].value_counts().head(10)
# 📊 Visualisation des 10 maladies les plus fréquentes
plt.figure(figsize=(10, 5))
sns.barplot(x=top_diseases.index, y=top_diseases.values, palette="coolwarm")
plt.xticks(rotation=45, ha="right")
plt.title("🔝 Top 10 des maladies les plus fréquentes")
plt.xlabel("Maladie")
plt.ylabel("Nombre d'occurrences")
plt.show()
# 🏥 Génération d'un nuage de mots pour les symptômes
# Concaténer tous les symptômes en un seul texte
symptoms_columns = [col for col in df.columns if "Symptom" in col]
text = " ".join(df[symptoms_columns].dropna().astype(str).values.flatten())
# Création du nuage de mots
wordcloud = WordCloud(width=800, height=400, background_color="white").generate(text)
# Affichage du nuage de mots
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.title("💨 Nuage de mots des symptômes")
plt.show()