处理异常值数据表函数中设置两种方法并分别调用,把他们设置在同一个函数里
时间: 2023-12-27 08:02:08 浏览: 92
好的,我们可以将处理异常值的两种方法设置在同一个函数中,并通过参数来选择具体的方法。具体实现可以参考以下代码:
```python
import pandas as pd
# 处理异常值的函数
def handle_outliers(df, column, method='remove'):
q1 = df[column].quantile(0.25)
q3 = df[column].quantile(0.75)
iqr = q3 - q1
low_threshold = q1 - 1.5 * iqr
high_threshold = q3 + 1.5 * iqr
if method == 'remove':
return df[(df[column] >= low_threshold) & (df[column] <= high_threshold)]
elif method == 'replace':
df[column] = df[column].apply(lambda x: x if (x >= low_threshold and x <= high_threshold) else df[column].median())
return df
# 调用删除异常值的函数
df = pd.read_csv('data.csv')
df = handle_outliers(df, 'age', method='remove')
print(df.head())
# 调用替换异常值的函数
df = pd.read_csv('data.csv')
df = handle_outliers(df, 'age', method='replace')
print(df.head())
```
在上述代码中,我们将删除和替换异常值的方法都放在了`handle_outliers`函数中,并通过`method`参数来指定具体的方法。如果`method`参数的值为`remove`,则调用删除异常值的方法;如果`method`参数的值为`replace`,则调用替换异常值的方法。这样,我们就可以通过一个函数来完成两种不同的异常值处理方式了。
阅读全文