探索性数据分析(EDA)是任何数据科学项目中的关键组成部分,也是最被低估的步骤之一。EDA对于定义良好和结构化数据分析至关重要,应在机器学习建模阶段之前进行。这个过程涉及从数据中发现洞察,并进一步总结其主要特征。通常,处理的实际数据包含大量的“噪声”,因此手动对此类数据集进行数据分析变得复杂且繁琐。
Python因其拥有各种库和包而成为数据科学中最广泛使用的语言之一,这些库和包使得数据分析变得更加容易。Pandas是Python最受欢迎的库之一,它通过其Series和DataFrame数据结构帮助以适合分析的方式呈现数据。它提供了各种函数和方法,既简化又加快了数据分析过程。
本文以“泰坦尼克号”数据集为例,实践所有功能的实现。首先,导入Numpy和pandas库,然后读取数据集。现在让开始吧。
df.head()
:默认情况下,它返回DataFrame的前5行。如果要更改默认值,可以在括号内插入一个值来更改返回的行数。
df.tail()
:默认情况下,它返回DataFrame的最后5行。这个函数用于获取最后n行。这个函数根据位置返回对象的最后n行。
df.info()
:它有助于快速了解数据集。这个函数用于获取DataFrame的简要总结。此方法打印有关DataFrame的信息,包括索引数据类型和列数据类型、非空值和内存使用情况。
df.shape
:它显示维度的数量以及每个维度的大小。由于DataFrame是二维的,shape返回的是行数和列数。
df.size
:返回一个整数,表示此对象中的元素数量。如果是Series,则返回行数;否则,返回行数乘以列数(如果是DataFrame)。
df.ndim
:返回DataFrame/Series的维度。1表示一维(Series),2表示二维(DataFrame)。
df.describe()
:返回数据集中数值列的统计摘要。此方法计算Series或DataFrame的数值的一些统计度量,如百分位数、均值和标准差。
df.sample()
:用于随机生成行或列的样本。它允许从Series或DataFrame中随机选择值。当想要从分布中选择随机样本时非常有用。
df.isnull().sum()
:返回每列中缺失值的数量。
df.nunique()
:返回对象中唯一元素的数量。它计算列或行中唯一条目的数量。在分类特征中特别有用,尤其是在事先不知道类别数量的情况下。
df.index
:此函数从列表的开头搜索给定元素,并返回元素出现的最低索引。
df.columns
:返回DataFrame的列标签。
df.memory_usage()
:返回每个列使用的内存量(以字节为单位)。特别是当处理大型DataFrame时非常有用。
df.dropna()
:此函数用于从包含NaN或缺失值的DataFrame中删除行或列。
df.nlargest()
:返回按列排序的前n行,以降序排列。
df.isna()
:此函数返回一个充满布尔值的DataFrame,其中真表示缺失值。
df.duplicated()
:返回一个布尔Series,表示重复的行。
value_counts()
:此函数用于获取包含唯一值计数的Series。结果对象将以降序排列,以便第一个元素是出现频率最高的元素。默认情况下排除缺失值。当想要检查分类变量的类别不平衡问题时,此函数非常有用。
df.corr()
:此函数用于查找DataFrame中所有列的成对相关性。任何缺失值将自动被排除。对于DataFrame中的任何非数值数据类型列,将被忽略。当进行特征选择时,观察特征与目标变量或变量之间的相关性非常有用。
df.dtypes
:此函数显示每列的数据类型。