Python怎么查找异常值然后进行替换或删除
时间: 2024-01-28 22:05:32 浏览: 77
Python-PyOD用于异常值检测的Python工具包也称为异常检测
Python中可以使用numpy和pandas库来查找异常值并进行替换或删除。
1. 使用numpy库
需要先导入numpy库,然后使用np.where函数来查找异常值的位置,再使用np.nan或其他数值替换异常值。如下所示:
```python
import numpy as np
# 创建一个含有异常值的数组
arr = np.array([1, 2, 3, 4, 5, 6, np.nan])
# 查找异常值的位置
mask = np.isnan(arr)
# 用0替换异常值
arr[mask] = 0
```
2. 使用pandas库
需要先导入pandas库,然后使用DataFrame的isnull()函数查找异常值的位置,再使用fillna()函数替换异常值。如下所示:
```python
import pandas as pd
# 创建一个含有异常值的DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5, 6], 'B': [7, 8, 9, 10, pd.np.nan, 12]})
# 查找异常值的位置
mask = df.isnull()
# 用0替换异常值
df.fillna(0, inplace=True)
```
另外,如果需要删除异常值,可以使用DataFrame的dropna()函数删除含有异常值的行或列。如下所示:
```python
# 删除含有异常值的行
df.dropna(inplace=True)
# 删除含有异常值的列
df.dropna(axis=1, inplace=True)
```
阅读全文