私はPythonのリストからアウトライアを削除しようとしています。私は元のリストから各外れ値のインデックス値を取得したいので、それを(別の)対応リストから削除することができます。Pythonで異常値をどのようにインデックス化しますか?
~~簡単な例~~外れ値と
私のリスト:
y = [1,2,3,4,500] #500 is the outlier; has a index of 4
私の対応するリスト:
x= [1,2,3,4,5] #I want to remove 5, has the same index of 4
MY結果/ GOAL:
y=[1,2,3,4]
x=[1,2,3,4]
この私のコードですklistと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))
異常値を定義します。どのようにそれを特定していますか?数値が平均値から標準偏差の2倍を超える場合は –
となります。私は実際にそれを定義するのではなく、実際にコーディングするのに問題があります。私はそれをしようとするあらゆる方法でエラーを取得し続けます – Adam