您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

移除异常值(+/- 3 std)并在Python / pandas中替换为np.nan

移除异常值(+/- 3 std)并在Python / pandas中替换为np.nan

如果我理解正确,则无需遍历各列。该解决方案用NaN替换所有偏差超过三个组标准偏差的所有值。

def replace(group, stds):
    group[np.abs(group - group.mean()) > stds * group.std()] = np.nan
    return group

# df is your DataFrame
df.loc[:, df.columns != group_column] = df.groupby(group_column).transform(lambda g: replace(g, 3))
python 2022/1/1 18:52:16 有350人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶