python删除异常值
时间: 2023-10-18 15:05:06 浏览: 113
清理数据异常
在Python中,可以使用以下方法删除异常值:
1. 通过计算标准差或者平均值来检测异常值,并将其删除。
```python
import numpy as np
# 生成一组随机数据
data = np.random.normal(0, 1, 100)
# 计算平均值和标准差
mean = np.mean(data)
std_dev = np.std(data)
# 检测异常值并删除
threshold = 2.5
new_data = [x for x in data if (x - mean) / std_dev <= threshold]
```
2. 使用箱线图(box plot)来检测异常值,并将其删除。
```python
import seaborn as sns
# 生成一组随机数据
data = np.random.normal(0, 1, 100)
# 画箱线图
sns.boxplot(x=data)
# 检测异常值并删除
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1
lower_bound = q1 - (1.5 * iqr)
upper_bound = q3 + (1.5 * iqr)
new_data = [x for x in data if x >= lower_bound and x <= upper_bound]
```
以上两种方法都可以用来检测和删除异常值,具体使用哪一种方法要根据数据分布和具体情况来决定。
阅读全文