探索性数据分析(Exploratory Data Analysis ,EDA)是对数据进行分析并得出规律的一种数据分析方法。它是一个数据试图讲述的故事。EDA是一种利用各种工具和图形技术(如柱状图、直方图等)分析数据的方法。
根据Tukey的说法(1961年的资料分析)
“分析数据的程序,解释此类程序结果的技术,计划数据收集以使其分析更容易,更精确或更准确的方法,以及适用于分析数据的(数学)统计的所有机制和结果。”
Python中的EDA
在python中有很多可用的库,例如pandas,NumPy,matplotlib,seaborn等。借助这些库,我们可以对数据进行分析并提供有用的见解。我将同时使用这些库和Jupyter Notebook。
数据集介绍
我使用的数据集是“汽车”数据集,它具有汽车的不同特征,例如型号,年份,发动机和其他属性以及价格。它具有1990年至2017年的28年数据。
数据集地址:https://www.kaggle.com/CooperUnion/cardataset
数据描述
本文的目的是探索数据并为建模做好准备。
让我们开始吧!!!
Python中的探索性数据分析
首先,我们将导入EDA(探索性数据分析)所需的所有库。这是要做的第一件事也是最重要的事情。如果不导入库,我们将无法执行任何操作。
导入库
数据加载
导入库后,下一步是将数据加载到数据框中。要将数据加载到数据框中,我们将使用pandas库。它支持各种文件格式,例如逗号分隔值(.csv),excel(.xlsx,.xls)等。
要读取数据集,可以将数据文件存储在同一目录中并直接读取,或者在读取数据时提供数据文件所在数据文件的路径。
前5行
现在,数据已加载。让我们检查数据集的前5行。
根据以上结果,我们可以看到python中的索引从0开始。
底部5行
要检查数据框的维数,让我们检查数据集中存在的行数和列数。
数据形状
数据集中共有11914行和16列
数据集的简明信息
现在,检查数据类型以及数据集中所有变量的摘要。它包括存在的非空值的数量。
如果变量中存在字符串,则数据类型将作为对象存储。另外,如果数据分别具有数值和十进制值,则它将为int或float。MSRP(汽车价格)存储为int数据类型,而Driven_wheels存储为对象数据类型。
以上结果表明,许多变量(例如发动机燃料类型,发动机HP,发动机汽缸,门数和市场类型)在数据中缺少值。
我们可以通过另一种方法检查数据类型:
打印数据集的列
由于列的名称很长,让我们重命名它们。
重命名列
删除列
删除数据框不需要的列。数据中的所有列不一定都相关。在这个数据中,受欢迎程度、门的数量、车辆大小等列不太相关。所以从数据集中删除这些变量。
缺失值:
上述结果表明,在12个变量中,Fuel_type、HP和cylinder这3个变量有缺失值。
让我们检查一下列中缺失数据的百分比
有许多方法可以处理这些缺失的值。
1. 删除
2. 插补
我们可以删除存在缺失值的行,也可以将缺失值替换为平均值,中位数或众数等值。
由于丢失的数据百分比非常少,我们可以从数据集中删除那些行。
默认情况下,如果任何变量的值缺失,则drop函数将删除整行。
删除缺失值之后,现在缺失值的计数为0。这意味着数据集中不存在缺失值。