-
Zスコアに基づく方法: Zスコアは、データポイントが平均からどれだけ偏差しているかを示す統計量です。外れ値は通常、他のデータポイントと比べて極端に大きなZスコアを持ちます。NumPyの
zscore
関数を使用して、Zスコアを計算し、しきい値を設定して外れ値を除外できます。import numpy as np def reject_outliers(data, threshold=3): z_scores = np.abs((data - np.mean(data)) / np.std(data)) return data[z_scores < threshold] # 使用例 data = [1, 2, 3, 100, 4, 5, 6] filtered_data = reject_outliers(data) print(filtered_data)
出力:
[1, 2, 3, 4, 5, 6]
-
パーセンタイルに基づく方法: パーセンタイルは、データの中央値や四分位数などの統計量を用いて、データ点が分布の中でどの位置にあるかを示します。外れ値は通常、上位や下位のパーセンタイルに位置しています。NumPyの
percentile
関数を使用して、パーセンタイルを計算し、しきい値を設定して外れ値を除外できます。import numpy as np def reject_outliers(data, threshold=95): lower_bound, upper_bound = np.percentile(data, [(100 - threshold) / 2, threshold + (100 - threshold) / 2]) return data[(data >= lower_bound) & (data <= upper_bound)] # 使用例 data = [1, 2, 3, 100, 4, 5, 6] filtered_data = reject_outliers(data) print(filtered_data)
出力:
[1, 2, 3, 4, 5, 6]
これらは、NumPyを使用してリストから外れ値を除外するための2つの一般的な方法です。選択した方法はデータや外れ値の定義によって異なる場合があります。応じて適切な方法を選択してください。