题解 | 异常值与缺失值
异常值与缺失值
https://www.nowcoder.com/practice/ff45ccddb4d54659bac8fec4e365f582
import numpy as np def preprocess_data(): n=(int)(input()) li=[] for i in range(n): num=float(input()) li.append(num) data=np.array(li) # 将-1替换为NaN以便计算均值 data = np.where(data == -1, np.nan, data) # 计算均值,忽略NaN值 mean_value = np.nanmean(data) # 填补缺失值 data = np.where(np.isnan(data), mean_value, data) # 去除异常值(大于800或小于200的值) data = data[(data >= 200) & (data <= 800)] return data def main(): ans = preprocess_data() for i in range(len(ans)): print(f"{ans[i]:.4f}") if __name__ == "__main__": main()