1、Python二手房数据分析之数据清洗
![](https://img.haomeiwen.com/i8612260/0834fe0cc45986fd.png)
![](https://img.haomeiwen.com/i8612260/25b2c891fa5d541b.png)
数据清洗前的准备工作:
粗略看一遍数据,我们大致要做的数据处理有以下几点(使用工具为anaconda和jupyter Note book):
1、由于文件有多个,我们第一步就是要将文件进行合并;
2、抓取下来之后deal_time和last_time的数据不是很干净,所以我们选择从time_list当中提取出这两个日期(并计算到挂牌时间到今天相隔几天);
3、view列的数据需要分成三列(取前两列关注人数和带看次数);
4、面积数据要转换成数字;
5、装修风格取精装、简装和其他字段,平层和复式由于数据缺失比较多这一指标就不考虑了;
6、年份里有‘未知年建\’字段,这个需要处理成‘未知年建’;
7、数据清洗前要删除deal_time和last_time和totalcount(总的带看次数,网页在详情页处都是显示0,所以这一数据从view列里获取)列;
8、area_subinfo列的楼型有较多的缺失数据(录入的时候没有录入),把缺失数据都用其它填充;
9、price和total_price的价格单位不一样需要注意;
10、数据清洗完成之后用汉字作为列名以便更具有可读性。
这就是我们在开始正式的数据清洗之前的大致思路和准备工作。
接下来我们开始数据清洗:
1、读取和拼接多个文档的数据:
![](https://img.haomeiwen.com/i8612260/32af926146fe3a46.png)
使用的是os.path.join的方法。
2、提取time_list列的两个日期
![](https://img.haomeiwen.com/i8612260/a6239441e49299c2.png)
![](https://img.haomeiwen.com/i8612260/759bbaed58e0fdff.png)
处理后新的两列日期如图:
![](https://img.haomeiwen.com/i8612260/edacb30b2ed075de.png)
这样我们就完成了两列日期的数据处理。
3、view列的三组数据的分列
![](https://img.haomeiwen.com/i8612260/037cfe3b86117180.png)
把分开的列重合合并到df里:
![](https://img.haomeiwen.com/i8612260/64266b0aaa351d03.png)
列名显示的是0,1,2,可以更改列名,我们等到后面统一更改。
4、面积数据要转换成数字
![](https://img.haomeiwen.com/i8612260/a29038294fb06950.png)
5、装修风格提取
![](https://img.haomeiwen.com/i8612260/4e44e62b1dae59fb.png)
6、建筑年份数据清洗
![](https://img.haomeiwen.com/i8612260/806671ebc1a64e00.png)
7、清洗建筑类型
![](https://img.haomeiwen.com/i8612260/1e23261e3ba00411.png)
8、选出关注人数和带看两列的数字
![](https://img.haomeiwen.com/i8612260/7529913b3eb4d49b.png)
9、接着进行重命名索引和列名
![](https://img.haomeiwen.com/i8612260/ff08a8028d90d25c.png)
10、获取当前日期和把数据转换成日期格式(使用pd.to_datetime)
获取当前日期:datetime.datetime.now().strftime('%Y-%m-%d')
![](https://img.haomeiwen.com/i8612260/68f4398874012d85.png)
11、删除有空值的行
![](https://img.haomeiwen.com/i8612260/38d49c0a76c4dee3.png)
12、把数值部分的列转换为浮点数
![](https://img.haomeiwen.com/i8612260/4bc33fb7dd03e02f.png)
13、选取出我们需要的列并导出数据
![](https://img.haomeiwen.com/i8612260/474fefd7176e356f.png)
这样,整个数据清洗的过程就基本完成了,下一步我们将进行相应的数据分析,进行数据分析之前也一样要选出我们想要看到的指标和做出的效果。