Python之dataframe修改異常值—按行判斷值是否大於平均值的指定倍數,如果是則用左右值替換

 serise用數字下標索引

 

 

import pandas as pd

data = {'hah':[1,2,9],
       '數量':[3,2,5],
       '價格':[10,9,8]}
df = pd.DataFrame(data)
df

import numpy as np
def panduan(x):
    x_mean = np.mean(x)
    print(x_mean)
    for i in range(0,len(x)):
        print(x[i])
        if x[i] > x_mean*2:
            if i==0:
                x[i] = x_mean
            elif i==(len(x)-1):
                x[i] = x_mean
            else:
                x[i] = (x[i-1]+x[i+1])/2
    return x 

df = df.apply(lambda x:panduan(x),axis=1) 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章