J'essaie de supprimer des valeurs éloignées d'une liste en python. Je veux obtenir les valeurs d'index de chaque valeur aberrante d'une liste originale afin que je puisse la retirer d'une autre liste correspondante.Comment indexez-vous les outliers en python?
~~ ~~ Exemple simple
ma liste des valeurs aberrantes:
y = [1,2,3,4,500] #500 is the outlier; has a index of 4
ma liste correspondante:
x= [1,2,3,4,5] #I want to remove 5, has the same index of 4
MON RÉSULTAT/OBJECTIF:
y=[1,2,3,4]
x=[1,2,3,4]
Cette est mon code, et je veux pour atteindre la même chose avec klist et avglatlist
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))
Définir une valeur aberrante. Comment l'identifiez-vous? –
si le nombre moins la moyenne est supérieur à 2 fois l'écart-type. J'ai du mal à le coder, pas à le définir. Je continue à obtenir des erreurs avec tous les moyens que j'essaie de le faire – Adam