[PYTHON] Füllen Sie Ausreißer mit NaN basierend auf Quadranten in Pandas

Pandas ist bequem, nicht wahr? Ich möchte Daten aus Pandas DataFrame entfernen, die mehr als das 1,5-fache des Quadranten als Ausreißer sind. Versuchen Sie, Ausreißer für jede Spalte zu erkennen und mit NaN zu füllen, anstatt die gesamte Zeile basierend auf dem Wert in einer Spalte zu löschen.

Referenz: [Finden Sie Ausreißer im Quadranten (IQR) während der Korrelationsanalyse (Python) - Ich verkaufe Dienstleistungen und kaufe Häuser](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 #Quadrantenbereich

    #Bezugspunkt für Ausreißer
    outlier_min = q1 - (iqr) * 1.5
    outlier_max = q3 + (iqr) * 1.5

    #Schließt Werte aus, die außerhalb des Bereichs liegen
    col[col < outlier_min] = None
    col[col > outlier_max] = None

Wenn Sie die Daten in eine maschinelle Lernfunktion wie Scikit-Learn einfügen möchten, füllen Sie die gelöschten Daten mit fillna usw. aus. Wenn Sie diese Methode verwenden, werden die Ausreißerdaten durch einen anderen Wert ersetzt. Berücksichtigen Sie dies bei der Verwendung von: joy:

df.fillna(method='bfill')

Viel Spaß beim Leben der Pandas.

Recommended Posts

Füllen Sie Ausreißer mit NaN basierend auf Quadranten in Pandas
Erstellen Sie eine neue CSV mit Pandas basierend auf der lokalen CSV
Identifizieren Sie Ausreißer mit dem Random Forest Classifier von scikit-learn
[Pandas] Finde den Quadranten und erkenne den Ausreißer
Füllen Sie fehlende Werte mit Scikit-learn impute aus
Behandeln Sie 3D-Datenstrukturen mit Pandas
Gibt es NaN im Pandas DataFrame?
Löschen Sie Zeilen mit beliebigen Werten in pandas DataFrame
Versuchen Sie, mit Mongo in Python auf dem Mac zu arbeiten
Entfernen Sie Zeilen mit doppelten Indizes in pandas DataFrame
Behandeln Sie Ganzzahltypen mit fehlenden Werten in Pandas
Pandas verhalten sich je nach Version etwas anders