数据清理
由上一阶段的学习,通过info方法我们查看到了数据集的简单描述。
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 20640 entries, 0 to 20639
Data columns (total 10 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 longitude 20640 non-null float64
1 latitude 20640 non-null float64
2 housing_median_age 20640 non-null int64
3 total_rooms 20640 non-null int64
4 total_bedrooms 20433 non-null float64
5 population 20640 non-null int64
6 households 20640 non-null int64
7 median_income 20640 non-null float64
8 median_house_value 20640 non-null int64
9 ocean_proximity 20640 non-null object
dtypes: float64(4), int64(5), object(1)
memory usage: 1.6+ MB
我们发现total_bedrooms这个属性其实是缺少数据的,翻开csv文件也
解决它的三个方式:
- 放弃这些相应的地区
- 放弃这个属性
- 将缺失值设置为某个值(0、平均数或者中位数都可以)
通过DataFrame的dropna()、drop()、fillna()方法,可以轻松完成这些操作:
我们先来看一下housing
>>> housing
longitude latitude ... median_house_value ocean_proximity
0 -122.23 37.88 ... 452600 NEAR BAY
1 -122.22 37.86 ... 358500 NEAR BAY
2 -122.24 37.85 ... 352100 NEAR BAY
3 -122.25 37.85 ... 341300 NEAR BAY
4 -122.25 37.85 ... 342200 NEAR BAY
... ...