本篇内容介绍了“R语言与Python数据聚合功能的用法介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
成都创新互联长期为上千余家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为代县企业提供专业的网站设计、成都网站设计,代县网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
R语言与Python的Pandas中具有非常丰富的数据聚合功能,今天就跟大家盘点一下这些函数的用法。
R语言:
transform
mutate
aggregate
grouy_by+summarize
ddply
Python:
groupby
pivot.table
在R语言中,新建变量最为快捷的方式是通过transform(当然你可以选择使用自定义函数),该函数支持基于同一个数据框新建多个变量。
这里仍然使用经典的莺尾花数据集演示:
iris1<-iris
transform与mutate两个函数都是新建变量,但是前者仅能基于所提供的数据框内变量进行新建,而后者则可以直接在新建变量基础上进行操作。
(iris1<-transform(iris1,dek=Sepal.Length/Sepal.Width,pek=Petal.Length+Petal.Width))
(iris1<-dplyr::mutate(iris1,dek=Sepal.Length+Sepal.Width,jek=sqrt(dek)))
aggregate是专门用于分组聚合的函数:
aggregate(value~class,data,fun)
#表达式左侧是要聚合的目标度量,右侧是分组依据,紧接着是数据框名称,最后是聚合函数。
aggregate(Sepal.Length~Species,iris,mean)
aggregate(Sepal.Length~Species,iris,sum)
library(dplyr)
使用group_by函数结合summarize可以方便的完成分组聚合功能。
iris%>%group_by(Species)%>%summarize(means=mean(Sepal.Length))
iris%>%group_by(Species)%>%summarize(sums=sum(Sepal.Length))
R语言中的分组聚合如果使用矢量函数来进行操作,会大大提升其执行效率:
tapply(iris$Sepal.Length,iris$Species,mean)
tapply(iris$Sepal.Length,iris$Species,sum)
tapply(X, INDEX, FUN = NULL, …, simplify = TRUE)
tapply是一个快捷的分组聚合函数,其参数简单易懂,通过提供一个度量,一个分类别字段,一个聚合函数即可完成简答的数据聚合功能。
library(plyr)
ddply(iris,.(Species),summarize,means=mean(Sepal.Length))
ddply(iris,.(Species),summarize,means=sum(Sepal.Length))
ddply(.data, .variables, .fun =) #一般只需提供数据框,带聚合分类字段,以及最终的聚合函数与聚合变量公式。它的用法与内置的tpply用法如出一辙。
----------
Python:
----------
import pandas as pd
import numpy as np
Python中长用到的数据聚合工具主要包括groupby函数,agg函数以及povit_table等。
groupby
agg
povit_table
iris=pd.read_csv("C:/Users/RAINDU/Desktop/iris.csv",sep=",")
iris.head()
iris.describe()
使用pandas中的groupby方法可以很快捷的进行分组数据聚合。
iris.groupby('Species')['Sepal.Length'].mean()
iris.groupby('Species')['Sepal.Length'].sum()
iris.groupby('Species')['Sepal.Length'].agg([len,np.sum,np.mean])
iris.groupby('Species')['Sepal.Length'].agg({'count':len,'sum':np.sum,'mean':np.mean})
#对输出进行自定义命名:
只聚合一个变量可以直接使用对应聚合函数,需要聚合多个变量则可以 借助agg函数完成。
pd.pivot_table(iris,index=["Species"],values=["Sepal.Length"],aggfunc=[len,np.sum,np.mean],margins=False)
“R语言与Python数据聚合功能的用法介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!