高考考试网
当前位置: 首页 高考资讯

趣味谈数据分析(九道门如何执行探索性数据分析)

时间:2023-05-26 作者: 小编 阅读量: 4 栏目名: 高考资讯

九道门如何执行探索性数据分析探索性数据分析(EDA)是了解数据集的关键步骤在EDA中可以执行各种步骤,下文中会我会介绍4个主要步骤其中数据集来自帕尔默群岛企鹅数据数据分析优质社群,等你加入哦~一、仔细检查数据这一步的目的是找出数。

探索性数据分析(EDA)是了解数据集的关键步骤。在EDA中可以执行各种步骤,下文中会我会介绍 4 个主要步骤。其中数据集来自帕尔默群岛企鹅数据。数据分析优质社群,等你加入哦~

一、仔细检查数据

这一步的目的是找出数据集的变量和范围。它回答诸如"此数据集是否足够大?"或“它包含多少个特征或行?"等问题。加载数据集后,使用 head() 函数检查前五行将是了解数据集结构的良好开端,具体操作如下所示。

import pandas as pdimport numpy as np import seaborn as snsimport matplotlib.pyplot as pltimport warningswarnings.filterwarnings('ignore')#Loading the datasetpenguins_size = pd.read_csv('penguins_size.csv', sep = ",")penguins_size.head()

print("Shape is: ", penguins_size.shape)

从这里得出数据集的范围为(344,7),这意味着存在7个特征和344行,这表示数据集不够大。为了可视化特征的数据类型,可以使用 info() 函数,如下所示。结果显示,物种、岛屿和性别是目标,其余特征是浮动变量。使用 dtypes 也是了解列的数据类型的一种替代方法。

penguins_size.info()

penguins_size.dtypes

二、数据清理

查找缺失值、删除重复项等是探索性数据分析的关键步骤。这些值可能会导致我们的模型最终得出错误的结论。仅调查 isnull()是不够的。例如,在包含心率特征的数据集中,该特征的值不能为 0。在这种情况下,0 也是一个缺失值,需要处理。

有多种方法可以处理数据的缺失值,例如删除包含缺失值的行(如果数据集足够大并且缺失值的数量不是太多,这是一个选项),插补方法(特征的平均值/中位数)等。

penguins_size.isnull().sum()

如上所示,除岛屿和物种外的所有特征在此数据集中都包含缺失值。因为数据集非常小,所以我选择将浮点特征的缺失值与相应特征的均值相结合。

penguins_size.value_counts(["sex"])

penguins_size['sex'] = penguins_size['sex'].fillna('MALE')

对于企鹅的性别,在检查了雌性和雄性值的计数后,将考虑最常见的值,在这种情况下,缺失值将用 "MALE" 进行估算。如上所示,另一个值为".",必须将其归因或丢弃。在所有缺失值被插补或删除后,我们再次使用 isna () 函数进行检查,确定没有遗漏值。

penguins_size.drop(axis = 0, inplace = True, index = 336)penguins_size.isna().sum()

最后,对于这个部分,需要检查是否存在任何重复行。

duplicated = penguins_size.duplicated()print(duplicated.sum())

三、统计洞察

这也是理解数据的一部分。处理缺失值后,可以使用 describe() 函数来获取数据的平均值、最大值、最小值和标准偏差等信息。此方法还可用于检测缺失值,例如,如果特征值的最小值在不应为 0 的地方为 0,则 describe()函数有助于处理缺失值。

penguins_size.describe()

通过使用 value_counts() 函数,可以计算对象的唯一值。此外,每个物种的体重平均值可以通过使用 groupby()函数找到对于连续特征,此函数在分类和观察数据方面非常有用。

penguins_size['species'].value_counts()

# Find body mass mean for each species.mean_bodymass = penguins_size.groupby('species')['body_mass_g'].mean()mean_bodymass

四、数据可视化

为了更好地可视化数据集,可以使用各种绘图技术,在下文中简单介绍几个。有些图在可视化分类数据方面效果更好,有些图则更适合数值数据的可视化。

箱形图

通过显示数据分布来检查异常值或理解分类特征与连续特征之间关系的好方法。

如下图所示,由于没有数据点分别高于或低于最大值和最小值,因此未检测到异常值。此外,可以很容易地找到数据点的中位数,因为通过框内的水平线代表的就是中位数。

#Relationship of the culmen length and sex of the penguins.fig = plt.figure(figsize=(5,8))ax= sns.boxplot(x = penguins_size.sex, y=penguins_size['culmen_length_mm'],orient="v", palette = "cividis")plt.title('Culmen_length_mm')plt.show()

直方图

直方图用于描述频率分布。

#Shows us frequency distribution.fig,axs = plt.subplots(1,4,figsize=(20,6))axs[0].hist(penguins_size.culmen_depth_mm)axs[0].set_title('culmen_depth_mm')axs[0].set_ylabel('Frequency')axs[1].hist(penguins_size.culmen_length_mm)axs[1].set_title('culmen_length_mm')axs[2].hist(penguins_size.flipper_length_mm)axs[2].set_title('flipper_length_mm')axs[3].hist(penguins_size.body_mass_g)axs[3].set_title('body_mass_g')plt.show()

此外,kdeplot 是可视化数据分布的另一种方法。此图实际上类似于直方图,但不是将值放入条柱中,而是绘制一条曲线。

#Used for visualizing the probability density of a continuous var.sns.kdeplot(penguins_size.flipper_length_mm,color='Cyan')plt.show()

条形图

在条形图中,x 轴表示分类变量, y 轴表示数值变量。这就是为什么条形图描绘了这两个变量之间的关系。

plt.figure(figsize=(8,5))colors = ["cyan","lightblue", "darkblue"]sns.barplot(x =penguins_size['island'],y = penguins_size['body_mass_g'], palette = colors)plt.title('Body Mass of Penguins for different Islands')plt.show()

通过使用 pandas 函数交叉表,可以分析两个或多个变量之间的关系。作为说明,下面的条形图强调了生活在特定岛屿中的特定物种的企鹅数量之间的关系。

pd.crosstab(penguins_size['island'], penguins_size['species']).plot.bar(color=('DarkBlue', 'LightBlue', 'Teal'))plt.tight_layout()

小提琴图

小提琴图描述的是数据集的概率密度。由于两个不同的类别可能具有相同的平均值,在这种情况下观察小提琴图会更有用。

在下面的小提琴图中,梦幻岛企鹅体重的平均值在3000到4000克之间,而在比斯科岛企鹅体重的平均值大约在4500到5500克之间。

sns.violinplot(x = 'island',y = 'body_mass_g',data = penguins_size, palette="YlOrRd_r")plt.title('Violin plot')

想要完整代码的同学可以留言获取哦~

    推荐阅读
  • 羽绒被总是跑毛怎么解决(羽绒被跑毛处理方法)

    羽绒被总是跑毛怎么解决?以下内容大家不妨参考一二希望能帮到您!羽绒被总是跑毛怎么解决首先是在原来的被罩上再增加一个被罩,其实这个方法是最简单的,这样就不会再钻毛了,之后清洗的时候,也只需要清洗第一层就可以了。减少清洗的次数。所以减少清洗的次数也是非常重要的,一般的情况下,最好是一年清洗三四次就可以了,这样不仅可以保护好羽绒被,同时也不会那么脏。

  • 西葫芦为什么是苦的(西葫芦发苦是什么原因)

    我们一起去了解并探讨一下这个问题吧!西葫芦为什么是苦的苦味素含量过高:西葫芦中含有一种名叫“苦味素”的物质,它可以导致西葫芦变苦,若种植时选用的品种较差,种植出来的西葫芦其味道就会比较苦。

  • 钓鱼鱼线怎么选择(教你4个鱼线挑选小常识)

    可以用牙咬的办法测试鱼线的韧性。具体就时用牙咬一下鱼线,如果不是很用力就可以将鱼线咬变形,咬扁这就说明鱼线的韧性是很好的。拉力是重中之重,鱼线的拉力不行,其它的标准就没必要考虑了,直接弃用。“一分钱一分货”也不一定就对。市场上有许多包装精美的,以次充好的鱼线,也有比较便宜的,不是名牌的好线。鱼线的外观,手感。

  • 个性qq网名2022年除夕最新版的女生(好听的女生网名)

    凉城听暖挽梦忆笙歌,今天小编就来说说关于个性qq网名2022年除夕最新版的女生?下面更多详细答案一起来看看吧!

  • 长沙市新文化之都(文化场景和网红品牌激活夜经济)

    长沙市连续3年入选“中国城市夜经济十大影响力城市”,拥有4个国家级夜间文化和旅游消费集聚区。据最新的数据显示,长沙市夜间消费占全天消费比重达52.6%。市政府每年投入近3000万元向长沙音乐厅、梅溪湖大剧院等购买公共服务,推出惠民票价。梅溪湖大剧院演出超过500场、接待80多万观众,长沙音乐厅为市民提供了上千场次视听盛宴,提升夜经济消费品位。长沙国金中心370多家商户中,包含100家首次入湘品牌。

  • 渐变指甲油是怎样的(怎样涂渐变指甲油)

    用棉签蘸卸甲液去除指甲上的指甲油根据理想的长度用指甲刀修剪指甲然后用指甲锉磨平指甲边缘,并给指甲定型用去死皮叉去掉指甲根部的死皮,增加指甲外露的面积,让它看起更修长,我来为大家讲解一下关于渐变指甲油是怎样的?然后用指甲锉磨平指甲边缘,并给指甲定型。底油能起到保护指甲,光滑甲面的作用,方便之后上色。通常底色需要涂两层。另可分两次薄涂,也不要一次性涂上厚厚的一层。

  • 单纯什么意思(单纯词语的含义)

    下面内容希望能帮助到你,我们来一起看看吧!单纯什么意思单纯的字面意思就是简单纯一,不复杂。单纯的好处,也就是自己的精神领域是纯而静的,没有卷入勾心斗角的是非中去。但是单纯的人在社会上很容易被骗,被利用,所以说过于单纯未必是件好事。人最好的境界,不是单纯也不是精明复杂。而是居中,有一颗单纯的内心,而又有一颗玲珑智慧的心。前者愉悦精神领域,后者保证你作为人的生存能力。

  • 2008年北京奥运会圣火是谁点燃的(2008年北京奥运会圣火点燃者介绍)

    2008年北京奥运会圣火是谁点燃的2008年奥运圣火最后点燃的人是体操王子李宁,2008年第29届北京奥运会主火炬手也是最后的火炬手。李宁,壮族,男,生于1963年3月10日,奥运冠军,原中国著名体操队运动员,家乡广西壮族自治区来宾市兴宾区南泗乡人,祖籍广东省佛山市顺德区,曾祖父辈迁至广西谋生,中国著名男子体操运动员。北京奥运会火炬手:北京奥运会火炬手是“和谐之旅”的实践者。

  • 饺子怎么煮不破皮(煮饺子不破皮的技巧)

    饺子怎么煮不破皮?接下来我们就一起去研究一下吧!饺子怎么煮不破皮火候:煮速冻饺子的时候,不宜用大火,它不像是新鲜的水饺,用大火煮也不易破皮。不要过早放,否则易粘在一起,而且放入后,要充分搅拌,这样就不会因为粘在一起而破皮。

  • 舍利子为什么很珍贵(舍利子究竟是什么)

    而另一种舍利子,指的是佛教修行者去世之后留下的遗体,有时是特指骨灰或骨灰中出现的结晶。全身舍利也被称为肉身菩萨。舍利子被认为是佛教修行者通过长年修行,深受戒定慧熏修所得,是修持水平的一个见证,十分难得。此外,也有推测认为牙齿也有可能在燃烧过程中形成舍利子。以此看来,似乎舍利子就是由骨骼形成的可能性十分高。