数据清洗前的准备工作:
粗略看一遍数据,我们大致要做的数据处理有以下几点(使用工具为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、读取和拼接多个文档的数据:
使用的是os.path.join的方法。
2、提取time_list列的两个日期
处理后新的两列日期如图:
这样我们就完成了两列日期的数据处理。
3、view列的三组数据的分列
把分开的列重合合并到df里:
列名显示的是0,1,2,可以更改列名,我们等到后面统一更改。
4、面积数据要转换成数字
5、装修风格提取
6、建筑年份数据清洗
7、清洗建筑类型
8、选出关注人数和带看两列的数字
9、接着进行重命名索引和列名
10、获取当前日期和把数据转换成日期格式(使用pd.to_datetime)
获取当前日期:datetime.datetime.now().strftime('%Y-%m-%d')
11、删除有空值的行
12、把数值部分的列转换为浮点数
13、选取出我们需要的列并导出数据
这样,整个数据清洗的过程就基本完成了,下一步我们将进行相应的数据分析,进行数据分析之前也一样要选出我们想要看到的指标和做出的效果。