有这样一个表格 数据有一些异常值
如19年一月a到o的数据中的0为错误数值
如何用Python实现筛选每一个月份 把任意两个发货收货城市数据的异常值替换为这个月其他数据的平均值?
用Pandas库来加载和处理您的表格数据,然后使用一些数据处理技术来筛选异常值并进行替换。完整的Python代码示例,用于筛选每一个月份,并将任意两个发货收货城市的异常值替换为该月份其他数据的平均值:
import pandas as pd
# 加载数据
df = pd.read_csv('your_data_file.csv')
# 定义自定义函数来替换每个组中的异常值
def replace_outliers(group):
# 计算该组的平均值
mean = group.mean()
# 计算该组的标准差
std = group.std()
# 找到异常值并替换为平均值
group.loc[(group < mean - 2 * std) | (group > mean + 2 * std)] = mean
return group
# 分组并替换异常值
grouped = df.groupby('month')
df['value'] = grouped['value'].apply(replace_outliers)
# 保存处理后的数据
df.to_csv('your_processed_data_file.csv', index=False)