Lors de la création d'un graphique avec Matplotlib de Python, j'ai essayé d'obtenir la valeur de chaque bloc de données et de créer un graphique pour les centaines de listes, j'ai donc créé une méthode prototype qui peut être effectuée à la fois.
La méthode est la suivante. ① Lire la trame de données ① ‘Si la liste est dupliquée, rassemblez-la en tant que nouveau bloc de données (supprimez les doublons) ② Créez des graphiques dans l'ordre à l'aide de la boucle For
Cette fois, j'ai utilisé la trame de données kaggle (OSIC Pulmonary Fibrosis Progression). À propos, le nombre de lignes et de colonnes est de (1549,7) et la duplication est de 176 lignes. Cette fois, nous allons créer 176 graphiques à la fois.
① Lire la trame de données
import pandas as pd
train_df = pd.read_csv("train.csv")
train_df
① ‘Si la liste est dupliquée, rassemblez-la en tant que nouveau bloc de données (supprimez les doublons)
new_df = train_df.groupby([train_df.Patient,train_df.Age,train_df.Sex, train_df.SmokingStatus])['Patient'].count() #Nombre de doublons
new_df.index = new_df.index.set_names(['id','Age','Sex','SmokingStatus'])
new_df = new_df.reset_index()
new_df.rename(columns = {'Patient': 'freq'},inplace = True)
new_df
② Créez des graphiques dans l'ordre à l'aide de la boucle For
import matplotlib.pyplot as plt
for num in new_df['id']: #Sélectionnez l'élément avec lequel vous souhaitez répéter dans(Sélectionnez un bloc de données qui élimine la duplication(new_df))
train2 = train_df.loc[train_df.Patient == num] #Sélectionnez la colonne que vous souhaitez obtenir
graph = plt.plot(train2["Weeks"],train2["FVC"]) #Obtenez les valeurs des axes X et Y du graphique
plt.xlabel("Weeks") #Nom de l'axe X
plt.ylabel("FVC") #Nom de l'axe Y
plt.title("{}".format(num)) #Titre
plt.show()
Comme le montre la figure, 176 graphiques sont affichés. Je n'ai pas pu en faire une vidéo, alors j'ai inclus une image et je l'ai omise.
Recommended Posts