删除高于/低于标准偏差的值

问题描述 投票:2回答:1

我有一个由18列和1500万行组成的数据库,每列中都有离群值,我想删除2个标准偏差上下的值。我的代码似乎没有编辑数据库中的任何内容。

谢谢。

import pandas as pd
import random as r
import numpy as np


 df = pd.read_csv('D:\\Project\\database\\3-Last\\LastCombineHalf.csv')
df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]
df.to_csv('D:\\Project\\database\\3-Last\\Removal.csv', index=False)
python python-3.x pandas csv jupyter-notebook
1个回答
1
投票

也许是因为您没有将结果分配回df

发件人:

df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]

收件人:

df = df[df.apply(lambda x :(x-x.mean()).abs()<(2*x.std()) ).all(1)]
© www.soinside.com 2019 - 2024. All rights reserved.