根据课程资料/数据预处理/北京地区信息.csv和..//天津地区信息.csv中的数据进行预处理操作,包括:(1)检查重复数据,(2)检查缺失值,(3)检查异常值
时间: 2024-10-08 15:16:06 浏览: 23
对北京和天津地区信息.csv文件的数据预处理通常包含以下几个步骤:
1. **检查重复数据**:
首先,你需要读取这两个CSV文件,并使用数据分析库(如Pandas的`duplicated()`函数),查看每一列是否存在重复的记录。可以设置参数,例如 `keep=False` 来找出所有重复项,而不是仅保留唯一值。
```python
import pandas as pd
# 加载数据
beijing_data = pd.read_csv('北京地区信息.csv')
tianjin_data = pd.read_csv('天津地区信息.csv')
# 检查重复数据
print("北京地区重复数据:", beijing_data.duplicated().sum())
print("天津地区重复数据:", tianjin_data.duplicated().sum())
```
2. **检查缺失值**:
使用`isnull()`函数检查每个列是否有缺失值,`sum()`函数计算缺失值的数量。如果发现缺失值过多,需要考虑是否删除、填充还是用其他合适的方式处理。
```python
# 检查缺失值
print("北京地区缺失值:", beijing_data.isnull().sum())
print("天津地区缺失值:", tianjin_data.isnull().sum())
```
3. **检查异常值**:
可以通过可视化(如直方图、箱线图等)来识别数值型特征中显著偏离正常范围的数据点。常见的统计方法有Z-score或IQR(四分位距)来识别离群值。对于分类特征,可以看看是否存在极端类别出现频率过高。
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 对数值型列绘制箱线图,观察异常值
plt.figure(figsize=(10, 5))
sns.boxplot(data=beijing_data.select_dtypes(include='number'))
plt.figure(figsize=(10, 5))
sns.boxplot(data=tianjin_data.select_dtypes(include='number'))
# 或者使用Z-score或IQR方法判断异常值
from scipy import stats
z_scores = stats.zscore(beijing_data)
beijing_outliers = np.abs(z_scores) > 3 # 常见阈值为3
```
完成以上步骤后,你将了解每份数据集的完整性,并可以根据需要进一步清洗数据。
阅读全文