继瓜子二手车数据爬去之后,在此进行处理分析

Pycharm代码

# coding:utf8
# author:Jery
# datetime:2019/5/3 17:35
# software:PyCharm
# function:对爬取的瓜子二手车信息进行分析 import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns """ 原始数据 """
data = pd.read_csv(r'C:\Users\Jery\Desktop\guazi1.csv')
# print(data.head(3)) def init():
"""准备""" # 解决中文问题
plt.rcParams['font.sans-serif'] = ['SimHei']
# 解决负号显示
plt.rcParams['axes.unicode_minus'] = False def data_handle():
"""数据清洗""" # 删除奇数行,不包括表头
global data
nums = [i for i in range(4659) if i%2 != 0]
data.drop(nums,inplace=True)
# data.dropna(subset=['城市','车型','上牌时间','上牌地','表显里程','排量','变速箱','价格'],inplace=True)
# 去表显里程单位——万公里
data['表显里程']=data.表显里程.map(lambda x:float(x.replace('万公里','')))
# 时间处理
data['上牌时间']=data.上牌时间.map(lambda x:x.split('/')[0])
# 转换成车龄
data['上牌时间']=data.上牌时间.map(lambda x:int(x))
data['车龄'] = (2019-data.上牌时间)
# 里程从大到小排序
data.sort_values('表显里程',ascending=False)
# 重新排序index,并删除原索引
data = data.reset_index(drop=True)
return data def paint(data):
"""数据分析""" # 描述性数据
# print(data.describe()) # 行驶距离分析
sub = [0,3,6,9,12,20]
# pd.cut(data.表显里程,sub).value_counts().plot.bar(rot=0,title='行驶距离分析')
# rot是X轴进行旋转
data['表显里程'].plot(kind='hist', bins=60, figsize=(8,6),xlim=[0,20],title='行驶里程直方图')
plt.show() # 行驶里程箱线图
plt.figure(figsize=(5,7))
plt.boxplot(x=data['表显里程'], showmeans=True, meanline=True)
plt.title('行驶里程箱线图')
plt.ylabel('行驶里程/万公里')
plt.show()
# 箱线图上,均值和中位数比较靠近在5万公里附近。还有1辆开了15万公里以上的老车。上外栏 1.5*IQR 约等于13万公里 # 价格分析图一
sub = [0,3,6,9,12,15,18,21,24,27,30,33,36]
pd.cut(data.价格,sub).value_counts().plot.bar(rot=30,title='价格分析')
plt.show() # 价格分析图二
data['价格'].plot(kind='hist', bins=60, figsize=(5,8),subplots=True,sharex=False, xlim=[0,20],title='二手车各价格区间在销数量图')
plt.show() # 品牌分析
data['品牌'] = data.车型.map(lambda x:x.split(' ')[0])
# 品牌排名前20
data.品牌.value_counts()[:20].plot.barh(title='品牌排名分析')
plt.show() # 按品牌聚合分析 平均里程,最大里程,中位数,数量
d = data['表显里程'].groupby(data['品牌']).agg(['mean', 'max','median','count']).loc[['大众','福特','别克']]
print("品牌聚合分析 \n 平均里程,最大里程,中位数,数量\n{}".format(d)) data['表显里程'].groupby(data['品牌']).agg(['mean','median']).loc[['大众','福特','别克']].plot(kind='bar',rot=30)
plt.show() # 地区 品牌 数量
# print(data.groupby(['城市','品牌'])['品牌'].count()) top10 = ['大众','福特','别克','雪佛兰','吉利','现代','日产','丰田','哈弗H6','本田']
data_top10 = data[data['品牌'].isin(top10)]
print("\n\n\n排名前十品牌汽车总数:".format(data_top10.shape))
print('Top10二手汽车占总二手车比例:%.2f %%' % ((data_top10.shape[0]/data.shape[0])*100)) # 饼图
# 横纵轴标准化处理,保证饼图是正圆,默认为椭圆
plt.axes(aspect='equal')
plt.pie(data_top10['品牌'].value_counts(),explode=[0.2,0.2,0.2,0,0,0,0,0,0,0],startangle=30,labels=top10,autopct='%.2f%%',radius=2)
plt.show() # 车龄分析
data['品牌'].groupby(data['车龄']).count().plot(kind='bar',rot=0,title='二手车已使用年数')
plt.show() def main():
init()
data = data_handle()
paint(data) if __name__ == '__main__':
main()

Python——全国瓜子二手车数据分析的更多相关文章

  1. Python——爬取瓜子二手车

    # coding:utf8 # author:Jery # datetime:2019/5/1 5:16 # software:PyCharm # function:爬取瓜子二手车 import re ...

  2. 号外号外:9月21号关于Speed-BI 《全国人口统计数据分析》开讲了

    引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中?       本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中,通 ...

  3. Python在金融,数据分析,和人工智能中的应用

    Python在金融,数据分析,和人工智能中的应用   Python最近取得这样的成功,而且未来似乎还会继续下去,这有许多原因.其中包括它的语法.Python开发人员可用的科学生态系统和数据分析库.易于 ...

  4. 基于 Python 和 Pandas 的数据分析(4) --- 建立数据集

    这一节我想对使用 Python 和 Pandas 的数据分析做一些扩展. 假设我们是亿万富翁, 我们会想要多元化地进行投资, 比如股票, 分红, 金融市场等, 那么现在我们要聚焦房地产市场, 做一些这 ...

  5. 基于 Python 和 Pandas 的数据分析(2) --- Pandas 基础

    在这个用 Python 和 Pandas 实现数据分析的教程中, 我们将明确一些 Pandas 基础知识. 加载到 Pandas Dataframe 的数据形式可以很多, 但是通常需要能形成行和列的数 ...

  6. 基于 Python 和 Pandas 的数据分析(1)

    基于 Python 和 Pandas 的数据分析(1) Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性 ...

  7. 预备知识-python核心用法常用数据分析库(上)

    1.预备知识-python核心用法常用数据分析库(上) 目录 1.预备知识-python核心用法常用数据分析库(上) 概述 实验环境 任务一:环境安装与配置 [实验目标] [实验步骤] 任务二:Pan ...

  8. Python scrapy框架爬取瓜子二手车信息数据

    项目实施依赖: python,scrapy ,fiddler scrapy安装依赖的包: 可以到https://www.lfd.uci.edu/~gohlke/pythonlibs/  下载 pywi ...

  9. Python嫌多(线程/进程)太慢? 嫌Scrapy太麻烦?没事,异步高调走起!——瓜子二手车

    基本概念了解: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却不知道如何去学习更加高深的知识.那么针对这三类人,我 ...

随机推荐

  1. Docker容器服务(三)

    一.创建容器 容器是Docker的另一个核心概念. 简单地说,容器是镜像的一个运行实例,所不同的是,它带有额外的可写文件层. 1.1创建一个容器 使用docker create命令创建的容器处于停止状 ...

  2. Codeforces Round #303 (Div. 2)(CF545) E Paths and Trees(最短路+贪心)

    题意 求一个生成树,使得任意点到源点的最短路等于原图中的最短路.再让这个生成树边权和最小. http://codeforces.com/contest/545/problem/E 思路 先Dijkst ...

  3. Windows | Ubuntu 18.04安装Visual Studio Code

    Visual  Studio Code是一款很好的开源跨平台代码编辑器,这里使用 tarball 格式文件来安装(免安装), 首先下载 .tar.gz 文件包,点击下载, 可自行在官网下载 将文件包解 ...

  4. 接口测试 从 0 到 1,用 Jmeter 搭建 HTTP 接口自动化引擎 1.0 版本

    百度网盘地址更新:https://pan.baidu.com/s/13S0WStZpwlbL15IBp_Q-bg 1.已实现功能描述 1.1 框架包含:Jenkins.Ant.Jmeter 1.2 测 ...

  5. 201871010131-张兴盼《面向对象程序设计(java)》第十三周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  6. Spring Boot 配置文件application.properties

    #########COMMON SPRING BOOT PROPERTIES ######========CORE PROPERTIES=========== #SPRING CONFIG (Conf ...

  7. 学习-angular 7入门

    1.安装脚手架:npm install -g @angular/cli 安装之后,输入命令 ng v: Package Version -------------------------------- ...

  8. 如何确保redis中都是热数据

    相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略. redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i].ex ...

  9. 微信小程序开发工具调试没问题,真机调试Provisional headers are shown

    from: https://blog.csdn.net/github_38928905/article/details/83105523 在开发工具调试,请求正常没问题,使用真机调试,请求异常:Pro ...

  10. for循环包含多个双引号怎么办?windows

    for循环包含多个双引号怎么办?windows@echo offsetlocal EnableDelayedExpansionset "sed=%~sdp0sed"echo %se ...