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

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

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

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

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

    推荐阅读
  • 鬼竟然真的存在(鬼是否真实存在)

    但八月生,肺部系统已经在母体内部发育一半,所以新生儿几乎不能存活。以上未经科学取证,仅仅是一种说法。酒过三巡,宾客各自散去,残羹剩菜,满地狼藉。家里那时候就剩下我,我蜷缩在被子里,感受着被窝中那一丝热乎气,脸蛋露在被子外还是有些冷,大概是零下的温度了,脸上的阵阵的冷空气,我把头缩进被子里,翻来覆去怎么也睡不着了。

  • 猪大肠怎么煮(猪大肠的烹饪方法)

    跟着小编一起来看一看吧!猪大肠怎么煮材料:猪大肠2条,姜(拍松)、八角、桂皮、茶叶各适量。所有材料放入锅里,加入老抽、味精、糖、酒、盐、水各适量,烧开后转小火焖约大半小时至适合的口感便可。

  • 鸭子汤怎么做好吃(滋补老鸭汤的做法)

    下面内容希望能帮助到你,我们来一起看看吧!鸭子汤怎么做好吃主料:净老土鸭2500克,辅料:枸杞,冬瓜,萝卜,海带,盐5克,胡椒粉3克,黄酒2克,葱白5克,姜片2.5克,味精1克。将鸭宰杀治净,切成3厘米宽,5厘米长的块,去掉污染,姜切片备用。锅置旺火上,下猪油炒5分钟至金黄色,香气扑鼻时,加料酒。砂罐至微火上,一次放卟清水35000克,清炖3小时后,加味精即成。

  • 扬州八怪是哪些人怪在哪里(扬州八怪有多怪)

    不过今天不是来和大家聊美女的,来说一说这个城市小众故事“扬州八怪”。人们都听说过云南十八怪,所以在听到扬州八怪的时候也会以为是一些奇怪的事情,而真正到了这里才发现八怪讲的一群思想前往且独到的画家。在扬州八怪纪念馆的书籍中可以看到这群人为了生存所以才会顺从市民趣味,注重创新和个性,但同时也流露出的骨子里的孤高傲气,他们大多重视写意,从书法用笔中寻找灵感,独自创造。

  • 占林子四川话(堂客看田缺的主劳)

    但是老婆毕竟是外姓,所以加上一个“客”的称呼,合称“堂客”。以前四川方言里将妻子兄弟的子女称“内侄儿”“内侄女”,丈夫姐妹的子女称“外侄儿”“外侄女”,而自己的兄弟的子女称“侄儿”“侄女”,自己姐妹的子女称“外侄”“外侄女”。以前四川方言里面还有一种用血亲称谓表示姻亲关系的说法。

  • 民间故事穷人家借粮(娶妻嫁汉全看手)

    比如男女双方必须要经过媒人的牵线搭桥,才能喜结连理。籴谷粜粮全看斗“籴”就是买入的意思,“粜”是卖出的意思。但古代人所使用的“斗”并没有一个统一的规格,有的大,有的小。所以,双方就会因此发生争执。而这样做就会导致选择妥协的这一方会吃亏,而另一方占了便宜。所以,在当时那个时代,人们是把“斗”看的十分重要的,认为吃亏上当全在一个“斗”上。所以便有了“籴谷粜粮全看斗”的说法。

  • 柚木家具的优缺点 柚木家具的优缺点能耐多少度低温

    对于房子装修好以后就需要购买家具了,可是没有装修经验就不懂,下面就是小编为大家带来的柚木家具的优缺点的简单介绍。柚木具有很好的抗风性,柚木家具将保持一如既往的秀丽。柚木家具的表面非常细腻光滑,就是这种油能保护家具的光泽,使它发光。

  • 为什么红火龙果比白火龙果甜(关于红火龙果比白火龙果甜的原因)

    通常情况下,红心火龙果含糖量在百分之十五以上,白心火龙果则普遍在百分之十左右,白心就没有红心含糖量高,故红心火龙果较甜。火龙果,仙人掌科攀援肉质灌木,果肉白色、红色,种子倒卵形,黑色,种脐小。在25-30℃的常温状态下,保鲜保质期可超过2周。在果实尚未完全成熟时采摘的火龙果经10-20℃的环境下贮存后,其含糖和含酸量,口感均不及新鲜采摘的火龙果,但前者在贮存期内的物理变化极小,贮存期限可因此而延长。

  • 八宝饭要蒸多少时间(八宝饭要蒸多久)

    以下内容大家不妨参考一二希望能帮到您!八宝饭要蒸多少时间15至30分钟为宜。八宝饭由糯米、莲子、核桃、葡萄干等为原料制作而成,糯米、莲子需要浸泡后煮得烂熟口感才细腻,因此做八宝饭前要先将糯米、莲子等难熟的食材浸泡煮熟,这样蒸出来的八宝饭口感更好,而且用的时间较短,一般来说,蒸八宝饭需要15至30分钟,如果是购买的商品八宝饭,只需蒸5至10分钟就可以了。

  • 淮安白马湖向日葵的故事景区游玩指南

    5、请照顾好老人和儿童,1.4米以下儿童须有成人陪同,注意安全。