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

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

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

九道门如何执行探索性数据分析探索性数据分析(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')

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

    推荐阅读
  • 错过了缘分爱上了世界(见不了你放不下你)

    遇一人深爱,择一城终老。这一路红尘中,无论还会遇见多少人,你永远都是我心中唯一深爱的人。春风十里,不如你,爱你深深,情不渝世间有一种别离,一个转身,后会无期,我为你保留着那一刻纯白的初心,你却不知道,你依旧还是我心上的那个人,不得不感慨,山有木兮木有枝,心悦君兮君不知。你是爱,是暖,是心中的挂牵,春风十里,不如你的温柔,夏花万丈,不及你的惊艳,你的好,是我一辈子舍不下的眷恋。

  • 名厨教学猪血汤的做法(味达美名厨福气汁)

    名厨教学猪血汤的做法今天给大家推荐一款平价的补充胶原蛋白的靓汤——双豆煲猪脚汤,这道汤品食材和做法都非常简单。过年在家来上一碗猪脚汤,既可以养颜美容,又可以以形补形,让新的一年家人脚腱更稳。而且多吃猪蹄对于女性具有丰胸作用。猪蹄不可与甘草同吃,否则会引起中毒,但可以用绿豆治疗。

  • 《暗黑破坏神3:夺魂之镰》(暗黑破坏神3夺魂之镰值得买吗)

    面板由于没有华戒,我身上只有一套冲锋,如果有了华戒,可以再出一身奥吉德。如果有了奥吉德我觉得可能再上1个小阶梯。)T6作为暗黑3的最终难度,我不认为会出现碾压割草的状态,如果你的装备真的可以支持你在T6割草的话,我觉得你可以换游戏了。T6怪物的伤害都很高,我个人认为主要还是控制为主,如果你杀死1个怪物需要10秒钟,你可以控制它2秒钟,好吧,你获得了20%的减伤。

  • 2022杭州灵活就业人员缓缴养老保险后补不起怎么办?

    凡2022年未缴费月度,均视为缓缴,2022年缴纳养老保险费有困难的,可自愿暂缓缴费。2022年未缴费月度可于2023年底前补缴,缴费基数在2023年当地个人缴费基数上下限范围内自主选择,缴费年限累计计算。但如果在2023年年底前要办理退休或者办理养老保险转移手续的,应在办理退休或转移前一次性补缴到位。

  • 常熟房产小程序查询指南(常熟房产备案查询系统)

    “常熟房产”小程序小程序入口:点击进入备案查询1.查询存量房买卖合同和商品房买卖合同。房源查询1.在挂牌房源或房源搜索中即可查询。

  • 软考热门科目(带你全面了解软考)

    报名时间一般上半年在3月份左右,下半年在7月底左右。考场上一定要遵守考试纪律,考试结束要立即停止答卷,交卷之后才能离开考场,不能将试卷、答题卡、草稿纸等相关考试资料带出考场。但是由于之前采取的证书登记等相关文件并未废止,因此各地区对于软考证书采取的登记制度有所不同。

  • 克苏鲁旧神真实存在(克苏鲁神话谁是旧日支配者的No.2)

    据人类所知,犹格.索托斯在地球上现身的形貌是大群闪耀着七彩光芒的庞大球体聚集物,但倘若按照《死灵之书》的说法,这些球体并非犹格.索托斯的真身,似乎是寄生在神身上的魔物。而在这些球体覆盖下的犹格,索托斯真貌,乃是触角蠕动且同时不停沸腾的泥团状怪物。犹格-索托斯可能还给了他的仆从们命令遥远世界的怪物们的能力。阿撒托斯的魂魄潜藏在犹格·索托斯之中,犹格·索托斯在群星预示归还时刻到来时将呼唤旧日支配者。

  • 梦见扫雪好不好(梦见扫雪的寓意)

    以下内容希望对你有帮助!梦见扫雪好不好孕妇梦见小孩扫雪,寓示着你和宝宝的身体都很健康,长到后也是一个勤奋、努力的人,日后也会大有作为,是祥兆。孕妇梦见和陌生人一起扫雪,预兆着你在遇到困难或不如意的时候会得到贵人的帮助,建议你不要太过担心,要保持愉悦的心情,对日后的顺利分娩很有利。孕妇梦见和丈夫扫雪,标志着你近期夫妻之间的感情生活会很甜蜜,宝宝的到来也会生活更加的美满。

  • 怎么才能得中专毕业证学信网可查(中专大专本科不吃亏靠谱稳拿证学信网可查)

    中专大专本科不吃亏靠谱稳拿证学信网可查十多年老牌教育机构、学校直属招生站点、确保拿证!!‌‌!现在报名就送学习网课!!!我们承诺:所有学历项目均为正规渠道、正规收费、正规办学!不比价格!比实力!严谨办学,绝不乱承诺!用专业的态度和服务为各。

  • 被人欺负的3大生肖(人善被人欺的三大生肖)

    人善被人欺,马善被人骑。善良的傻子,被人欺负是在所难免的。以下这三个生肖,就是人善被人欺的典型。一些“看起来”强势的人,就会利用他们的这个弱点,对其进行欺负!属兔的朋友,要是落落大方,学会同人据理力争,相信是不容易受到欺负的!他们怕硬不欺软,见风使舵,对于强者,他们有惧怕心理,甘愿被人欺负,常常令人嗤之以鼻!对于弱者,他们不欺负,好心对待,却常常被弱者指着鼻子大骂!