Il y a un article qui dit que la colonne contenant NaN est extraite, mais personne n'a spécifiquement récupéré chaque colonne ou rempli cette colonne avec une autre liste, je vais donc la résumer cette fois. C'était. Puisque l'explication est un débutant, cela peut ne pas être très utile, mais j'espère que vous pouvez le voir dans la mesure où il existe une telle méthode.
Voici le code qui renvoie True lorsque NaN est inclus quelque part dans la ligne: Si vous souhaitez renvoyer True uniquement lorsque toutes les lignes sont NaN, vous pouvez modifier any en all. Dans les données préparées cette fois, seule la deuxième ligne contient NaN.
df_judge = df.isnull().any(axis=1)
"""
0 False
1 False
2 True
3 False
4 False
5 False
6 False
7 False
8 False
9 False
"""
Tout d'abord, l'existence de True pouvait être vérifiée avec l'instruction if, qui était presque la même que l'appel d'élément de la liste.
for i in range(len(df)):
if df_judge[i] == True:
for j in range(len(df.columns)):
#Le traitement rond est un traitement qui s'aligne sur la première fraction
df.iloc[i,j] = average_list[j]
Cette fois, le but était d'insérer la valeur moyenne des autres colonnes dans la colonne avec NaN. Étant donné que le nombre de colonnes et le nombre de lignes peuvent être obtenus avec len (df) et len (df.columns), j'ai utilisé le double pour l'instruction. Une fois qu'il est déterminé qu'il y a NaN dans l'instruction if, la colonne est décalée une par une vers la ligne spécifiée et la valeur moyenne est affectée. J'ai utilisé df.iloc [ligne, colonne] pour spécifier les éléments du DataFrame. C'est dommage que vous ne puissiez pas insérer chaque colonne directement, mais cette méthode peut être utilisée, alors veuillez vous y référer.
Recommended Posts