二手车交易价格预测-Task2 数据分析

本阶段我们主要是通过EDA等方式来了解数据,探索数据的特征。
关于资料有挺多疑问的地方,均在文中用删除线加以注释,并总结放在了最后
一、载入各种库和数据

使用库pandas来便捷的载入数据,其中path标识了我们训练集和测试集所在的路径,为了之后的读取更为便捷。

# 导入warnings包,利用过滤器来实现忽略警告语句。
import warnings
warnings.filterwarnings('ignore')
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import missingno as msno

path = 'E:/学习资料/car/'
Train_data = pd.read_csv(path + 'used_car_train.csv', sep=' ')    # 文件以空字符分隔数据,若以','分隔数据,则sep=','或省略(源文件都将数据存到了一列里面)
Test_data = pd.read_csv(path + 'used_car_testA.csv', sep=' ')

代码详解:我们通过观察源文件.csv可以知,所有特征均存储在同一列中,且特征之间以空字符分隔,因此我们在使用pandas.read_csv读入的时候需要使用关键字sep=' '实现。sep默认的是以逗号','分隔,以后我们读取源文件时必须显示的使用sep=' '

下面我们来简略的观察一下源数据。

print(Train_data.head().append(Train_data.tail()))

代码详解:其中Train_data.head()是获取训练集的前几行特征(默认前5行,如果想调用前10行可用Train_data.head(10)来实现),Train_data.tail()是或许训练集的最后几行特征,默认值同样也是后5行。因此我们可以使用上面代码观察原数据集前5行和后5行的数据。其结果如下:

        SaleID    name   regDate  model  ...      v_11      v_12      v_13      v_14
0            0     736  20040402   30.0  ...  2.804097 -2.420821  0.795292  0.914762
1            1    2262  20030301   40.0  ...  2.096338 -1.030483 -1.722674  0.245522
2            2   14874  20040403  115.0  ...  1.803559  1.565330 -0.832687 -0.229963
3            3   71865  19960908  109.0  ...  1.285940 -0.501868 -2.438353 -0.478699
4            4  111080  20120103  110.0  ...  0.910783  0.931110  2.834518  1.923482
149995  149995  163978  20000607  121.0  ... -2.983973  0.589167 -1.304370 -0.302592
149996  149996  184535  20091102  116.0  ... -2.774615  2.553994  0.924196 -0.272160
149997  149997  147587  20101003   60.0  ... -1.630677  2.290197  1.891922  0.414931
149998  149998   45907  20060312   34.0  ... -2.633719  1.414937  0.431981 -1.659014
149999  149999  177672  19990204   19.0  ... -3.179913  0.031724 -1.483350 -0.342674

[10 rows x 31 columns]

我们在用shape函数观察一下整个训练集数据的“形状”:

print(Train_data.shape)

结果如下所示:

(150000, 31)

综上我们可知,训练集中共有150,000条数据,每条数据31个特征值。

我们用同样的方法看一下测试集数据的“形状”,结果如下:

(50000, 30)

因此测试集共有50,000条数据,每条数据30个特征值。细心的同学可能发现了测试集的特征数比训练集少了一个,原因是训练集中多的那个特征就是该数据的标签price

二、总览数据概况

1. 熟悉数据的相关统计量
通过describe()来熟悉数据的相关统计量,看max是否有异常值,如99,999等。

print(Train_data.describe())

结果如下所示:

              SaleID           name  ...           v_13           v_14
count  150000.000000  150000.000000  ...  150000.000000  150000.000000
mean    74999.500000   68349.172873  ...       0.000313      -0.000688
std     43301.414527   61103.875095  ...       
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值