代码实现用箱型图法去除dataframe异常值并用均值填充缺失值
时间: 2023-09-15 12:19:00 浏览: 124
箱型图消除异常值
5星 · 资源好评率100%
好的,请稍等片刻,我会为您搜索和整理相关的代码实现。以下是Python代码实现用箱型图法去除DataFrame异常值并用均值填充缺失值:
``` python
import pandas as pd
import numpy as np
def remove_outliers(df):
Q1 = df.quantile(0.25)
Q3 = df.quantile(0.75)
IQR = Q3 - Q1
low = Q1 - 1.5 * IQR
high = Q3 + 1.5 * IQR
df = df[(df > low) & (df < high)]
return df
def fill_missing(df):
df.fillna(df.mean(), inplace=True)
return df
# example usage
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [-10, 20, 30, 40, 50], 'C': [1, np.NaN, 3, np.NaN, 5]})
print(df)
# remove outliers
df = df.apply(remove_outliers)
print(df)
# fill missing values
df = df.apply(fill_missing)
print(df)
```
其中,remove_outliers()函数会对DataFrame中每一列的异常值进行去除,通过计算Q1,Q3,以及IQR(四分位距)来确定数据分布的边界,将低于Q1-1.5*IQR或者高于Q3+1.5*IQR的数据视为异常值。fill_missing()函数则会填充缺失值,使用每列的均值来代替缺失值。
希望这能够帮助您解决问题!
阅读全文