对一个csv文件中的每列数据进行异常值的修复代码
时间: 2023-05-28 17:07:18 浏览: 222
以下是一个基本的异常值修复代码,它将针对每列数据:
1. 使用中位数替换缺失值
2. 使用3倍标准差之外的值替换异常值
```python
import numpy as np
import pandas as pd
# 读取csv文件
df = pd.read_csv('data.csv')
# 针对每列数据进行异常值修复
for col in df.columns:
# 替换缺失值为中位数
median_value = df[col].median()
df[col].fillna(median_value, inplace=True)
# 替换异常值为3倍标准差之外的值
std_value = df[col].std()
lower_bound = median_value - 3 * std_value
upper_bound = median_value + 3 * std_value
df[col] = np.where((df[col] < lower_bound) | (df[col] > upper_bound), median_value, df[col])
# 保存修复后的csv文件
df.to_csv('data_fixed.csv', index=False)
```
上述代码中,`fillna()`函数用于替换缺失值,`std()`函数用于计算标准差,`where()`函数用于替换异常值。修复后的数据将保存到`data_fixed.csv`文件中。
阅读全文