dev_xulongjin 38d132913a feat(商务大数据分析): 添加二手车数据分析任务
- 新增二手车数据源读取和分析任务
- 完成车辆价格分布、销量品牌分布、排放标准分析等9项需求
- 添加数据预处理步骤,包括数据清洗、类型转换等
- 使用pandas进行数据处理和分析
- 新增second_cars_info.csv文件的GBK编码配置
- 更新VCS配置,将项目目录映射到Git版本控制系统
2025-04-20 14:43:44 +08:00

26 KiB
Raw Blame History

None <html lang="en"> <head> </head>

请读取二手车数据源完成以下需求在notebook中运行代码将完整运行结果导出为pdf上传。

1、车辆价格分布情况

2、车辆销量品牌分布

3、排放标准分析

4、车龄分析

5、里程分析

6、折旧价格分析

7、不同品牌新车平均价格对比

8、排放标准与行驶里程的关系

9、车龄与二手车价格的相关性

In [81]:
import pandas as pd
In [82]:
car = pd.read_csv('./data/second_cars_info.csv',encoding='gbk')
car.head(5)
Out[82]:
Brand Name Boarding_time Km Discharge排放标准 Sec_price New_price
0 奥迪 奥迪A6L 2006款 2.4 CVT 舒适型 2006年8月 9.00万公里 国3 6.90 50.89万
1 奥迪 奥迪A6L 2007款 2.4 CVT 舒适型 2007年1月 8.00万公里 国4 8.88 50.89万
2 奥迪 奥迪A6L 2004款 2.4L 技术领先型 2005年5月 15.00万公里 国2 3.82 54.24万
3 奥迪 奥迪A8L 2013款 45 TFSI quattro舒适型 2013年10月 4.80万公里 欧4 44.80 101.06万
4 奥迪 奥迪A6L 2014款 30 FSI 豪华型 2014年9月 0.81万公里 国4,国5 33.19 54.99万
In [83]:
from decimal import Decimal
car["Km"] = car["Km"].str.extract("(\d+\.?\d+)",expand = True)
car["New_price"] = car["New_price"].str.extract("(\d+\.?\d+)",expand = True)
car["New_price"] = car["New_price"].apply(lambda x : Decimal(x) * 10000)
# car["Sec_price"] = car["Sec_price"].apply(lambda x : Decimal(str(x)) * 10000)
# car["Km"] = car["Km"].apply(lambda x : Decimal(str(x)) * 10000)
car.head(5)
Out[83]:
Brand Name Boarding_time Km Discharge排放标准 Sec_price New_price
0 奥迪 奥迪A6L 2006款 2.4 CVT 舒适型 2006年8月 9.00 国3 6.90 508900.00
1 奥迪 奥迪A6L 2007款 2.4 CVT 舒适型 2007年1月 8.00 国4 8.88 508900.00
2 奥迪 奥迪A6L 2004款 2.4L 技术领先型 2005年5月 15.00 国2 3.82 542400.00
3 奥迪 奥迪A8L 2013款 45 TFSI quattro舒适型 2013年10月 4.80 欧4 44.80 1010600.00
4 奥迪 奥迪A6L 2014款 30 FSI 豪华型 2014年9月 0.81 国4,国5 33.19 549900.00
In [84]:
car['Boarding_time'] = pd.to_datetime(car['Boarding_time'].str.replace('年', '-').str.replace('月', ''), errors='coerce', format='%Y-%m')
car.head(3)
Out[84]:
Brand Name Boarding_time Km Discharge排放标准 Sec_price New_price
0 奥迪 奥迪A6L 2006款 2.4 CVT 舒适型 2006-08-01 9.00 国3 6.90 508900.00
1 奥迪 奥迪A6L 2007款 2.4 CVT 舒适型 2007-01-01 8.00 国4 8.88 508900.00
2 奥迪 奥迪A6L 2004款 2.4L 技术领先型 2005-05-01 15.00 国2 3.82 542400.00
In [85]:
today = pd.Timestamp('today')
car['Year'] = today.year - car['Boarding_time'].dt.year
car['Month'] = today.month - car['Boarding_time'].dt.month
car['Year'] = car['Year'] + car['Month'] / 12
In [86]:
# 1、车辆价格分布情况
car['Sec_price'].describe()
Out[86]:
count    11281.000000
mean        26.897567
std         55.451814
min          0.650000
25%          5.200000
50%         10.490000
75%         24.800000
max        808.000000
Name: Sec_price, dtype: float64
In [87]:
# 2、车辆销量品牌分布
car['Brand'].value_counts()
Out[87]:
别克      1350
大众       991
奔驰       895
宝马       773
奥迪       758
        ... 
东风风光       1
昌河         1
北汽制造       1
北京         1
中欧房车       1
Name: Brand, Length: 104, dtype: int64
In [88]:
# 3、排放标准分析
car['Discharge排放标准'].value_counts()
Out[88]:
国4           4300
欧4           1898
欧5           1201
国4,国5         848
国3            798
国5            683
欧3            292
--            276
国2            241
国4,京5         223
国3,OBD        119
OBD            90
国4,OBD         63
欧4,OBD         62
OBD,国5         38
欧6             36
国4,OBD,国5      31
国5,京5          22
欧5,OBD          9
欧4,欧5           9
欧5,国4           7
欧4,国3           7
国4,OBD,京5       6
欧4,国4           6
欧4,国4,OBD       5
欧3,欧4           2
欧5,国5           2
国4,国5,京5        1
欧1              1
欧2              1
京5              1
国3,国4           1
欧4,--           1
欧5,国4,国5        1
Name: Discharge排放标准, dtype: int64
In [89]:
# 4、车龄分析
car['Year'].describe()
Out[89]:
count    11188.000000
mean        13.123592
std          2.991405
min          7.500000
25%         10.750000
50%         13.166667
75%         15.083333
max         27.333333
Name: Year, dtype: float64
In [90]:
# 5、里程分析
car['Km'].describe()
Out[90]:
count     11184
unique      968
top        6.00
freq        485
Name: Km, dtype: object
In [91]:
# 6、折旧价格分析
# car = car.dropna(subset=['Km'])
car[['Km', 'Sec_price']].corr()
Out[91]:
Sec_price
Sec_price 1.0
In [96]:
# 7、不同品牌新车平均价格对比
car[['Brand', 'New_price']].groupby('Brand').mean()
Out[96]:
New_price
Brand
DS 2.644188e+05
GMC 1.423178e+06
Jeep 4.342455e+05
MINI 3.076827e+05
WEY 1.930000e+05
... ...
雪佛兰 1.564546e+05
雪铁龙 1.655019e+05
雷克萨斯 7.538173e+05
雷诺 2.770526e+05
马自达 2.170586e+05

104 rows × 1 columns

In [99]:
# 8、排放标准与行驶里程的关系
car['Km'] = pd.to_numeric(car['Km'], errors='coerce')
car.groupby('Discharge排放标准')['Km'].mean()
Out[99]:
Discharge排放标准
--            6.302677
OBD           8.320222
OBD,国5        3.307105
京5            2.000000
国2           11.470539
国3            8.524411
国3,OBD        7.691681
国3,国4         5.000000
国4            7.075801
国4,OBD        5.169841
国4,OBD,京5     5.533333
国4,OBD,国5     4.262258
国4,京5         4.808879
国4,国5         4.026185
国4,国5,京5      3.400000
国5            2.302224
国5,京5         3.365455
欧1            8.000000
欧2           12.000000
欧3            9.064828
欧3,欧4         8.000000
欧4            6.729597
欧4,--         7.500000
欧4,OBD        5.134426
欧4,国3         8.914286
欧4,国4         6.133333
欧4,国4,OBD     7.460000
欧4,欧5         4.120000
欧5            3.364559
欧5,OBD        4.911111
欧5,国4         4.382857
欧5,国4,国5      7.000000
欧5,国5         0.650000
欧6            1.073714
Name: Km, dtype: float64
In [100]:
# 9、车龄与二手车价格的相关性
car[['Year', 'Sec_price']].corr()
Out[100]:
Year Sec_price
Year 1.00000 -0.30768
Sec_price -0.30768 1.00000
</html>