我有一个由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)
也许是因为您没有将结果分配回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)]