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

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

时间: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')

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

    推荐阅读
  • 167的女生穿l码算胖吗(穿m码的女生胖吗)

    另外你穿衣的风格比例跟搭配也是影响了视觉上的“胖不胖”。如果穿五五分,或者穿很膨胀的面料,那不是M码要背的锅。虽然都生活在海里,但吃的不一样,父母不一样,所以别比较!毕竟人比人得跪,货比货得弃胖。身高170,体重50kg,衣服大多数是s码体重55kg,衣服是m码。这个时候我能明显感觉到自己肚子上的肉肉……还有我一胖就胖脸。。。而且高个子女生一胖就很显壮哭了一直穿L码,或者偏大的M码,不然袖子和裤腿就会短一截。

  • 结膜炎可以用隐形眼镜吗(还能用隐形眼镜吗)

    患者得了结膜炎之后需要及时用药治疗,同时如果日常多注意,做好生活管理,可以使结膜炎得到更快的恢复。

  • 木耳青蒜炒腰花的做法(木耳青蒜炒腰花的烹饪方法)

    以下内容希望对你有帮助!木耳青蒜炒腰花的做法材料:猪腰200克,木耳50克,青蒜,酱油,料酒,葱。将腰子一破两半,片去腰臊,剞麦穗花刀,改为三角刀块,葱,姜切丝,青蒜洗净切段。碗中放葱姜丝、酱油、料酒、盐、味精、醋、水淀粉、香油及高汤对成芡汁。将腰花用开水焯去血水,捞出控净水。锅放油烧至八成热,将腰花爆炸,捞出控油。锅留底油,倒入腰花,下入木耳、青蒜段翻炒,烹入汁芡速炒,待汁裹住腰花上时淋香油即可。

  • 黄桃怎样保鲜好吃(如何保存黄桃)

    以下内容大家不妨参考一二希望能帮到您!黄桃怎样保鲜好吃将黄桃买回家之后,将其置于阴凉处进行保存,注意袋子不需要密封,这样可以保存的时间比较长。还有就是可以将黄桃置于冰箱冷藏,黄桃冷藏不宜清洗,因为黄桃洗过之后容易损伤外皮,这样放进冰箱,容易滋生细菌引发变质发黑;其次建议放冰箱冷藏的黄桃,用保鲜袋密封包好,既可以减少水分的流失,又可以避免受冰箱里生肉或气味重的食物影响。

  • 室内基站标签选择(通信机房基站标签标识制作规范笔记)

    通信机房基站标签标识制作规范笔记本文根据对笔者日常工作和上级规范要求进行的总结,主要涉及到“机房/基站、设备及机柜、光缆配线架(ODF)、数字配线架(DDF)标签、线缆标签、机房环境标识”等几个方面适用于传送网,传输网、同步网、核心。

  • 7月半中元节注意事项(七月半中元节禁忌多)

    7月半中元节注意事项在古代,人们认为七与吉祥的“吉”谐音,所以七月是人们眼中的“吉祥月”。而中元节的名字则是道教名称,是在七月十五日,与之同一天的还有归属于佛教的盂兰盆节。2不吃不吃鸡在中元节这一天是不能吃鸡的,也不能用鸡来作为祭祖的贡品。所以在中元节,切记不要让鸡上桌。

  • 蜂蜜水减肥法有效吗(喝三天蜂蜜水减肥法有效吗)

    蜂蜜本身就是一种营养价值比较高的食物,虽然是甜食,但是不会使人增肥,卡路里含量也比较低。因此蜂蜜水减肥法也受到了很多人的喜爱,但是蜂蜜水减肥法真的的有用吗?蜂蜜水减肥法减肥有效吗?

  • 枸杞和菊花泡水的作用与功效(适合什么人饮用)

    枸杞和菊花泡水的作用与功效枸杞和菊花是最常用的泡水饮用药物,枸杞具有滋阴的作用,菊花则有明目、清热的作用。对于部分长期用眼的患者,比如长期从事电脑工作,长期盯着电脑的屏幕,就会出现眼睛疲劳的症状,引起眼睛干涩等,可以通过泡饮菊花、枸杞,达到滋阴润燥,清热明目的作用。菊花属于一种花类,中医认为,一般花都是居上开放,也是取类比象,认为菊花药性也是往上走,所以可以具有明目和清热的作用。

  • 漫画司夜寒怎么画(关于风的不同画法)

    而相同之处就在于仆人的到来彻底令主人发生转变。比如一开始,伊莎贝拉还没接纳薇尔莉特,仍在为妹妹泰勒的事伤心时,出现过一个远景镜头,伊莎贝拉弱小的身躯蜷缩于画面中间,正在掩面哭泣。直到两人关系改善,影片出现了阳光照进屋内的空镜头,表现伊莎贝拉的生活被薇尔莉特照亮。总而言之,这段“霸道仆人俏公主”的戏码结束于伊莎贝拉被拦在铁门内的镜头,她的身体被铁栏杆遮挡,内心再次走向禁锢。

  • 周易关于象数的典籍(周易竟如此简单)

    等等类推,阳干配阳支,阴干配阴支,所以就是60个,大家看看上图就很清楚了。戌亥,甲乙锦江烟是什么意思呢?其实很简单,阳干配阳支,甲配子,甲配寅,甲配辰,就是锦江烟子配丑,子配卯,子配巳,锦江烟,这就是加已的一个循环,那么午、申、戌配甲还是锦江烟五行:金水火,未、酉、亥配丑依然是锦江烟五行是:金水火,这个就好懂了吧,那么其他的是什么样子呢?