【发布时间】:2020-10-13 22:49:38
【问题描述】:
我正在尝试编写一个函数来修复数据集中的异常值。即如果异常值高于上限,则该值将被替换为上限,如果该值小于下限,则该值将被替换为下限。下面列出了我创建的函数。
def fix_outliers(df):
anomalies = []
df_std = np.std(df)
df_mean = np.mean(df)
anomaly_cut_off = df_std * 3
lower_limit = df_mean - anomaly_cut_off
upper_limit = df_mean + anomaly_cut_off
df=np.where(df > upper_limit, upper_limit, df)
df=np.where(df < lower_limit, lower_limit, df)
函数内部发生的变化在我的数据集中没有改变。 我是 python 新手,尤其是函数。任何帮助,将不胜感激。 提前致谢。
问候, 输入电压
【问题讨论】:
-
输入 (df) 是 pandas 数据框吗?或者你只是在看 numpy 数组?