之前使用scrapy
抓取了优信二手车的数据,经过这几天的努力,终于把这些数据进行了清洗,并用echarts
进行了可视化处理
1.观察数据
可以看到由于抓取的时候没有进行处理,所以整个标题都拿了下来,并且价格也包含了文字,所以需要对这些进行处理
2.修改数据
通过观察发现,可以通过以空格为分隔符,进行截取,这里只取出前面的第一部分,即:‘宝马’二字,并通过MongoDB
的update
方法进行修改
for car in car_item.find():
title = car['title'].split()[0]
car_item.update({
'_id':car['_id']}, {
'$set': {
'title': title}})
同样,价格,可以通过正则表达式取出数值部分
for car in car_item.find():
price= re.findall(r'\d+.\d+',car['price'])
car_item.update({
'_id':car['_id']}, {
'$set': {
'price': price}})
如果MongoDB不是很了解的可以去 菜鸟教程 看看
修改之后,可以看到数据库的数据已经变成我们想要的样子了
PS:由于抓取的时候没有改善方法,所以这里的get_car_time
(提车天数)出现了小误差,这里就不管了
3.进入jupyter
引入相应的模块
如果出现Server running in the folder D:\JupyterNotebook\PythonProject at 127.0.0.1:51316
说明可以进行下面的步骤了,如果不行,可以参考我之前的文章,传送门
- 使用管道
aggregate
首先,定义一个函数输出想要的数据,这里先处理displacement
(排量)信息,统