主页 > 数据处理 > 利用Python进行数据分析(11)-高阶应用category

利用Python进行数据分析(11)-高阶应用category

2023-03-16 03:59来源:m.sf1369.com作者:宇宇

本文中介绍的是pandas的高阶应用-分类数据category​

一个列中经常会包含重复值,这些重复值是一个小型的不同值的集合。

unique() 和 value_counts() 能够从数组中提取到不同的值并分别计算它们的频率

维度表包含了不同的值,将主要观测值存储为引用维度表的整数键

不同值的数组被称之为数据的类别、字典或者层级

如果不指定顺序,分类转换是无序的。我们可以自己显式地指定

如果在特定的数据集上做了大量的数据分析,将数据转成分类数据有大大提高性能

特殊属性cat提供了对分类方法的访问

在机器学习或统计数据中,通常需要将分类数据转成虚拟变量,也称之为one-hot编码

Python数据分析(八):农粮组织数据集探索性分析(EDA)

这里我们用 FAO(Food and Agriculture Organization) 组织提供的数据集,练习一下如何利用python进行探索性数据分析。

我们先导入需要用到的包

接下来,加载数据集

看一下数据量,

看一下数据的信息,

我们先来看一下variable,variable_full这两列的信息,

看一下统计了多少国家,

看一下有多少个时间周期,

看一下时间周期有哪些,

我们看一下某一列某个指标的缺失值的个数,比如variable是total_area时缺失值的个数,

我们通过几个维度来进行数据的分析:

我们按照上面的处理继续,现在我们想统计一下对于一个时间周期来说,不同国家在这个周期内的变化情况,

我们也可以按照国家分类,查看某个国家在不同时期的变化,

我们还可以根据属性,查看不同国家在不同周期内的变化情况,

我们还可以给定国家和指标,查看这个国家在这个指标上的变化情况,

我们还有region(区域)没有查看,我们来看一下:

通过上图可以看出,区域太多,不便于观察,我们可以将一些区域进行合并。减少区域数量有助于模型评估,可以创建一个字典来查找新的,更简单的区域(亚洲,北美洲,南美洲,大洋洲)

我们来看一下数据变化,

紧接着上面的数据处理,我们重新导入一下包,这次有一些新包,

我们看一下水资源的情况,

通过上图可以看出只有一小部分国家报告了可利用的水资源总量,这些国家中只有极少数国家拥有最近一段时间的数据,我们将删除变量,因为这么少的数据点会导致很多问题。

接下来我们看一下全国降雨指数,

全国降雨在2002年以后不再报到,所以我们也删除这个数据,

我们单独拿出一个洲来进行分析,举例南美洲,我们来看一下数据的完整性,

我们也可以指定不同的指标,

接下来,我们使用 pandas_profiling 来对单变量以及多变量之间的关系进行统计一下,

这里我们要计算的是,比如

我们按照 rural_pop 从小到大进行排序,发现的确有几个国家的农村人口是负数,

人口数目是不可能小于0,所以这说明数据有问题,存在脏数据,如果做分析预测时,要注意将这些脏数据处理一下。

接下来我们看一下偏度,我们规定,

正态分布的偏度应为零,负偏度表示左偏,正偏表示右偏。

偏度计算完后,我们计算一下峰度, 峰度也是一个正态分布,峰度不能为负,只能是正数 ,越大说明越陡峭,

接下来我们看一下,如果数据分布非常不均匀该怎么办呢,

上图是2013-2017年国家总人数的分布,通过上图我们发现,人口量少于200000(不考虑单位)的国家非常多,人口大于1200000的国家非常少,如果我们需要建模的话,这种数据我们是不能要的。这个时候我们应该怎么办呢?

通常,遇到这种情况,使用 log变换 将其变为正常。 对数变换 是数据变换的一种常用方式,数据变换的目的在于使数据的呈现方式接近我们所希望的前提假设,从而更好的进行统计推断。

接下来,我们用log转换一下,并看一下它的偏度和峰值,

可以看出偏度下降了很多,减少了倾斜。

可以发现峰度也下降了,接下来我们看一下经过log转换后的数据分布,

虽然数据还有一些偏度,但是明显好了很多,呈现的分布也比较标准。

首先我们先来看一下美国的人口总数随时间的变化,

接下来,我们查看北美洲每个国家人口总数随着时间的变化,

这个时候我们发现,一些国家由于人口数量本身就少,所以整个图像显示的不明显,我们可以改变一下参照指标,那我们通过什么标准化?我们可以选择一个国家的最小、平均、中位数、最大值...或任何其他位置。那我们选择最小值,这样我们就能看到每个国家的起始人口上的增长。

我们也可以用热度图来展示,用颜色的深浅来比较大小关系,

接下来我们分析一下水资源的分布情况,

我们可以进行一下log转换,

我们用热度图画一下,

连续值可以画成散点图,方便观看,

我们来看一下随着季节变化,人均GDP的变化情况,

相关程度:

相关度量两个变量之间的线性关系的强度,我们可以用相关性来识别变量。

现在我们单独拿出来一个指标分析是什么因素与人均GDP的变化有关系,正相关就是积极影响,负相关就是消极影响。

当我们在画图的时候也可以考虑一下利用bined设置一下区间,比如说连续值我们可以分成几个区间进行分析,这里我们以人均GDP的数量来进行分析,我们可以将人均GDP的数据映射到不同的区间,比如人均GDP比较低,比较落后的国家,以及人均GDP比较高,比较发达的国家,这个也是我们经常需要的操作,

做一下log变换,这里是25个bin

我们指定一下分割的标准,

我们还可以看一下人均GDP较低,落后国家的内部数据,下面我们看一下内部数据分布情况,用boxplot进行画图,

对于这部分的分布,我们还可以统计看一下其他指标,如下图所示,我们还可以看一下洪水的统计信息,

相关推荐

车联网企业国内有哪些?

数据处理 2023-12-23

注册计量师-请教贴

数据处理 2023-12-19

逆光照片怎么处理

数据处理 2023-12-08