趣味谈数据分析(九道门如何执行探索性数据分析)
趣味谈数据分析(九道门如何执行探索性数据分析)
2024-06-26 12:28:00  作者:空中管制  网址:https://m.xinb2b.cn/tech/jna446126.html

探索性数据分析(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()

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

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

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

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

penguins_size.info()

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

penguins_size.dtypes

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

二、数据清理

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

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

penguins_size.isnull().sum()

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

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

penguins_size.value_counts(["sex"])

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

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

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

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

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

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

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

三、统计洞察

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

penguins_size.describe()

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

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

penguins_size['species'].value_counts()

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

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

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

四、数据可视化

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

箱形图

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

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

#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()

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

直方图

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

#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()

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

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

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

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

条形图

在条形图中,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()

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

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

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

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

小提琴图

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

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

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

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

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

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

  • 为什么需要企业的纳税证明(企业纳税证明怎么开)
  • 2024-06-26企业纳税证明怎么开企业纳税证明怎么开,你都清楚吗?跟着小编一起看看吧!如果企业需要申请开具完税证明,需先查验有无《税务登记证》(副本),再提交班里人的身份证及复印件、介绍信,最后到主管税务机关办税服务厅办理,注意要带齐。
  • 非编系统排名(非编系统的发展和相关国内非编品牌)
  • 2024-06-26非编系统的发展和相关国内非编品牌非编系统又称为非线性编辑系统只要你从事影视传媒行业,就离不开非编系统只要你是剪辑师特效师你每天就会用到非编系统在以前,我们按照接口把非编系统分为专业非线性编辑系统和广播级非线性编辑系统非编系统能到达到。
  • 大学生心理健康教育学习通答案(大学生心理健康教育)
  • 2024-06-26大学生心理健康教育大学生心理健康状况是目前社会上广泛关注的问题,大学生在生活中突显的问题也是多种多样大学校园如何应对学生的各种心理矛盾以及积极倡导学生认识自身心理状况便显得尤为重要与此同时,我们自己也要努力认识自己的心。
  • 克里米亚大桥质量(克里米亚大桥)
  • 2024-06-26克里米亚大桥今天看到新闻说,克里米亚大桥发生爆炸,导致公路桥桥面坍塌听到这个消息心里百感交集,2019年6月20日,我们曾经驾车从这座桥上通过前往克里米亚半岛这是一座美丽的桥,在桥上可以隐隐的看到亚速海和黑海这座。
  • 倍增公式(这些知识点您都记住了吗)
  • 2024-06-26这些知识点您都记住了吗倍增的计算公式是M=a×2^n倍增相当于一个公比是2的等比数列等比数列是指从第二项起,每一项与它的前一项的比值等于同一个常数的一种数列,常用G、P表示这个常数叫做等比数列的公比,公比通常用字母q表示(。
  • 杭州啥时候全面解封(杭州紧急发布暂停)
  • 2024-06-26杭州紧急发布暂停记者:小裘、荔枝、王欣、千千通讯员:孙赫蒲、朱建美今年第14号台风“灿都”已于昨天(12日)晚上由超强台风级减弱为强台风级,今天(13日)早晨5点钟其中心位于浙江象山东南方约185公里的海面上,就是北。
  • 老人什么情况下会被老人嫌弃(容易被儿女嫌弃)
  • 2024-06-26容易被儿女嫌弃01现如今,网络上出现了这么一种观点,人越老越讨嫌上了年纪的老人,理应受到家人和年轻人的尊重,为什么还会“讨嫌”呢?这,不就是不尊重老年人吗?其实,我们只要看看没钱没势的农村老人就知道了,儿女离他们而。
  • 人善人欺天不欺上天自有公道心(欺人容易欺天难)
  • 2024-06-26欺人容易欺天难人善人欺天不欺,人恶人怕天不怕人在做天在看,举头三尺有神明身正不怕影斜心正不怕雷打人善有良缘,人恶众生怨无论以什么理由做了有违良心的事,终究都将受到良心的谴责平凡时做好本分,爱好亲人朋友,人的一生总有。
  • 王凤霞哪一年去世(还记得铁扇公主)
  • 2024-06-26还记得铁扇公主说到国内经典的电视剧,不得不说的就是《西游记》,这部剧中的每一个角色都表现得非常的棒,而剧中的那些女妖精不仅演技好,而且长得也漂亮,可以说是让观众过目不忘了不过今天要说的这一位,可以说并不算是女妖精,。
  • 湖南施工总承包二级资质办理(湖南省公路工程施工总承包特级)
  • 2024-06-26湖南省公路工程施工总承包特级湖南省内具备公路工程施工总承包特级资质的企业共5家,长沙市4家,衡阳市1家具体名单如下:长沙市:湖南建工交通建设有限公司中国建筑第五工程局有限公司湖南路桥建设集团有限责任公司中交一公局桥隧工程有限公司。
  • 因车灯清洗器问题导致故障 因车灯清洗器问题
  • 2024-06-26因车灯清洗器问题导致故障 因车灯清洗器问题日前,车质网从国家市场监督管理总局缺陷产品管理中心网站获得最新消息,大众汽车因前照灯清洗器达不到清洗效率的技术标准,大众集团日本株式会社将在日本召回GolfTouran1.4/110kW,GolfTo。