python数据清洗与数据预处理
时间: 2025-01-04 13:12:15 浏览: 10
### Python 数据清洗与预处理方法
#### 使用 `pandas` 进行数据清洗
`pandas` 是一个强大的用于数据分析和操作的库,在数据清洗方面提供了多种实用的功能。可以轻松读取不同格式的数据文件,如CSV、Excel等,并提供了一系列函数来处理缺失值、重复记录等问题。
对于缺失值,可以通过 `dropna()` 函数删除含有缺失值的行或列;也可以通过 `fillna()` 来填充特定值或其他策略填补这些位置上的空白[^2]。
```python
import pandas as pd
df = pd.read_csv('data.csv')
cleaned_df = df.dropna() # 删除有缺失值的行
filled_df = df.fillna(0) # 填充缺失值为0
```
#### 利用 `numpy` 处理数值型数据
当涉及到大量数值运算时,`numpy` 提供了高效的数组对象以及丰富的数学函数集合。这使得它非常适合用来执行复杂的矩阵运算或者统计分析任务。例如,计算均值、标准差等描述性统计量可以帮助理解数据分布情况并识别异常点。
```python
import numpy as np
arr = np.array([1, 2, None])
mean_value = np.nanmean(arr.astype(float)) # 计算忽略NaN值得平均数
print(mean_value)
```
#### 结合 `sklearn` 实现更高级别的预处理
除了基本的数据清理外,有时候还需要对特征进行更加精细的操作,比如缩放、编码分类变量等。这时就可以借助于机器学习框架中的工具包 `scikit-learn (sklearn)` 。其中包含了诸如 MinMaxScaler 和 OneHotEncoder 等类,能够方便地完成上述需求[^1]。
```python
from sklearn.preprocessing import StandardScaler
boston_data = ... # 加载波士顿房价数据集
scaler = StandardScaler()
scaled_features = scaler.fit_transform(boston_data)
# 输出标准化后的前五行数据
for row in scaled_features[:5]:
print(row.tolist())
```
阅读全文