[PYTHON] Remplissez les valeurs aberrantes avec NaN en fonction des quadrants dans Pandas

Pandas est pratique, n'est-ce pas? Je souhaite supprimer les données de Pandas DataFrame qui représentent plus de 1,5 fois le quadrant des valeurs aberrantes. Au lieu de supprimer la ligne entière en fonction de la valeur d'une colonne, essayez de détecter les valeurs aberrantes pour chaque colonne et remplissez-les avec NaN.

Référence: [Trouver des valeurs aberrantes dans le quadrant (IQR) lors de l'analyse de corrélation (Python) - Je vends des services et j'achète des maisons](http://www.ie-kau.net/entry/2016/ 04/14 /% E7% 9B% B8% E9% 96% A2% E5% 88% 86% E6% 9E% 90% E3% 81% AE% E6% 99% 82% E3% 81% AB% E5% 9B % 9B% E5% 88% 86% E4% BD% 8D% E7% AF% 84% E5% 9B% B2% 28IQR% 29% E3% 81% A7% E5% A4% 96% E3% 82% 8C% E5 % 80% A4% E3% 82% 92% E8% A6% 8B% E3% 81% A4% E3% 81% 91% E3% 82% 8B% EF% BC% 88Pyt)

drop_outlier.py


def drop_outlier(df):
  for i, col in df.iteritems():
    #Quadrant
    q1 = col.describe()['25%']
    q3 = col.describe()['75%']
    iqr = q3 - q1 #Gamme de quadrants

    #Point de référence pour les valeurs aberrantes
    outlier_min = q1 - (iqr) * 1.5
    outlier_max = q3 + (iqr) * 1.5

    #Exclut les valeurs hors limites
    col[col < outlier_min] = None
    col[col > outlier_max] = None

Si vous souhaitez placer les données dans une fonction d'apprentissage automatique telle que scikit-learn, remplissez les données supprimées avec fillna, etc. Si vous utilisez cette méthode, les données aberrantes seront remplacées par une autre valeur, alors tenez-en compte lors de son utilisation: joy:

df.fillna(method='bfill')

Ayez une vie de Pandas amusante.

Recommended Posts

Remplissez les valeurs aberrantes avec NaN en fonction des quadrants dans Pandas
Créer un nouveau csv avec des pandas basé sur le csv local
Identifiez les valeurs aberrantes avec le classificateur de forêt aléatoire de scikit-learn
[Pandas] Trouvez le quadrant et détectez la valeur aberrante
Remplissez les valeurs manquantes avec Scikit-learn impute
Gérez les structures de données 3D avec les pandas
Y a-t-il NaN dans le DataFrame pandas?
Supprimer les lignes avec des valeurs arbitraires dans pandas DataFrame
Essayez de travailler avec Mongo en Python sur Mac
Supprimer les lignes avec des index en double dans pandas DataFrame
Gérer les types entiers avec des valeurs manquantes dans Pandas
Les pandas se comportent légèrement différemment selon la version