Entfernen von Ausreißern in Pandas DataFrame mit Perzentilen

Ich habe einen DataFrame df mit 40 Spalten und sehr vielen Datensätzen.

df:

User_id | Col1 | Col2 | Col3 | Col4 | Col5 | Col6 | Col7 |...| Col39

Für jede Spalte außer die user_id-Spalte die ich überprüfen möchten Ausreißer und entfernen Sie das Loch Aufzeichnung, wenn ein Ausreißer erscheint.

Zur ausreißererkennung auf jede Zeile, die ich beschlossen, einfach zu benutzen, 5. und 95 Perzentile (ich weiß, es ist nicht die beste statistische Methode):

Code was ich habe, so weit:

P = np.percentile(df.Col1, [5, 95])
new_df = df[(df.Col1 > P[0]) & (df.Col1 < P[1])]

Frage: Wie kann ich diesen Ansatz anwenden, um alle Spalten (außer user_id), ohne dies per hand? Mein Ziel ist es, ein dataframe ohne Aufzeichnungen hatte, dass die Ausreißer.

Danke!

InformationsquelleAutor Mi Funk | 2016-03-06

Schreibe einen Kommentar