15个Python数据分析函数

可紊 提交于 2020-10-24 16:00:23

我们都有这种感觉,一些新知识如果不常使用,就会慢慢忘记。以至于,在做实际项目时,还是局限于自己认知范围里的那些 API


要想克服这个弊病,真正将过往所学应用起来,可能需要真正吃透,并多思考,吸取精华,深入骨髓。


近日,推送过一个关于数据分析的系列,主要参考了 Pandas官方文档。今天,做一个小结,回顾复习下。


以下所写未必足够专业,甚至某些术语值得批判,大家凑合着看吧,如果能帮我指正,不胜感激。


Pandas 框架,作为最专业的 Python 分析工具包之一,有一个单独的数据操作模块,包括 15 个,全是设计上最顶层的函数。它们大致可以分类为:数据透视相关;数据分箱相关;多个数据表融合相关;分类变量的数值化相关。借助这 4 类函数可完成对数据的一些重要分析。下面依次介绍。


数据透视相关包括:melt, pivot, pivot_table, crosstab. melt 变换宽格式数据为长格式,通俗点说就是列数变少了,行数变多了。我们可以试着想想,如何实现。详细参考: 640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1宽表如何重构为长表, 与之类似的函数为:wide_to_long,与之逆操作为:pivot :640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 数据由长格式变为宽格式pivot操作是不能完成数据聚合透视的,它的升级版为:pivot_table640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 Python数据透视功能之 pivot_table()介绍pandas还提供了一个透视功能更专一的:项频次统计的函数 crosstab640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 数据透视之交叉表 crosstab()


数据分箱,是将连续值归类到对应的箱体中,提供了两种实现。cut 函数均分给定的一维数组的区间长度(最大值和最小值间距)为指定份数;qcut 函数是另一种装箱思路,根据数据样本出现的频次,均分成指定个数的箱体。这两个函数的必选参数包括:1维数组,箱体个数。640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 数据分箱技术cut 640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 数据分箱技术qcut 


数据融合,至少涉及到两个数据表,根据指定索引或通过轴,关联两张表。通过索引关联的函数包括:mergemerge_ordered, merge_asof, 前两个通过精确相等的键关联,第三个通过近似相等键关联,常用的merge参考:640?tp=webp&wxfrom=5&wx_lazy=1&wx_co=1 一分钟学会Python这个硬核操作 ; 通过轴连接的为 concat 函数,它在0轴或1轴上扩展数据。


分类变量的数值化,是指将枚举类变量转化为indicator向量或称dummy 向量。什么是indicator向量,看看如下例子,A变量解析为:[1,0,0]B解析为:[0,1,0].


s = pd.Series(list('ABCA'))pd.get_dummies(s)#结果    A   B   C0   1   0   01   0   1   02   0   0   13   1   0   0

get_dummies外,还有一个枚举类型变量标注化函数:factorize,功能如下:


labels, uniques = pd.factorize(['A', 'B', 'C', 'A'])#结果labels为NumPy的ndarrays:array([0, 1, 2, 0], dtype=int64)uniques:array(['A', 'B', 'C'], dtype=object)


还有一个不属于以上4类的去重的顶层函数:unique,这个比较容易理解。不再赘述。


以上就是 Pandas 包中,数据操作相关的顶层函数总结,欢迎批评指正。






标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!