我需要编写一个函数:实现一个函数,以一个n×m的数字表作为输入来删除离群值(表)。功能 用最大值和最小值的中点替换最大值和最小值的每个实例 最小值,并返回更改后的表。
现在我只想用表中的平均值替换最小,最大值...。我不知道如何...请帮助我,我是Python的新手:(
def remove_outliers(table):
mn = min(table[0])
mx = max(table[0])
for i in table[1:]:
mn = min(i) if min(i) < mn else mn
mx = max(i) if max(i) > mx else mx
aver = (mn+mx)/2
以下应该工作:
If you are using
numpy
check out theclip
function (https://docs.scipy.org/doc/numpy/reference/generated/numpy.clip.html).