Ich versuche Ausreißer aus einer Liste in Python zu entfernen. Ich möchte die Indexwerte jedes Ausreißers aus einer ursprünglichen Liste abrufen, damit ich sie aus einer (anderen) entsprechenden Liste entfernen kann.Wie indizieren Sie Ausreißer in Python?
~~ Einfaches Beispiel ~~
meiner Liste mit Ausreißern:
y = [1,2,3,4,500] #500 is the outlier; has a index of 4
meine entsprechenden Liste:
x= [1,2,3,4,5] #I want to remove 5, has the same index of 4
mein Ergebnis/Ziel:
y=[1,2,3,4]
x=[1,2,3,4]
Diese ist mein Code, und ich will um dasselbe mit klist und avglatlist zu erreichen
import numpy as np
klist=['1','2','3','4','5','6','7','8','4000']
avglatlist=['1','2','3','4','5','6','7','8','9']
klist = np.array(klist).astype(np.float)
klist=klist[(abs(klist - np.mean(klist))) < (2 * np.std(klist))]
indices=[]
for k in klist:
if (k-np.mean(klist))>((2*np.std(klist))):
i=klist.index(k)
indices.append(i)
print('indices'+str(indices))
avglatlist = np.array(avglatlist).astype(np.float)
for index in sorted(indices, reverse=True):
del avglatlist[index]
print(len(klist))
print(len(avglatlist))
Definieren Sie einen Ausreißer. Wie identifizieren Sie es? –
wenn die Anzahl abzüglich des Mittelwerts größer als das 2fache der Standardabweichung ist. Ich habe Probleme damit, es zu programmieren, es nicht zu definieren. Ich bekomme Fehler mit jeder Art, wie ich es versuche – Adam