R語言與Python數(shù)據(jù)聚合功能的用法介紹

本篇內(nèi)容介紹了“R語言與Python數(shù)據(jù)聚合功能的用法介紹”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為代縣企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì),代縣網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

R語言與Python的Pandas中具有非常豐富的數(shù)據(jù)聚合功能,今天就跟大家盤點(diǎn)一下這些函數(shù)的用法。

R語言:

  • transform  

  • mutate

  • aggregate

  • grouy_by+summarize

  • ddply

Python:

  • groupby

  • pivot.table

在R語言中,新建變量最為快捷的方式是通過transform(當(dāng)然你可以選擇使用自定義函數(shù)),該函數(shù)支持基于同一個(gè)數(shù)據(jù)框新建多個(gè)變量。

這里仍然使用經(jīng)典的鶯尾花數(shù)據(jù)集演示:

iris1<-iris

R語言與Python數(shù)據(jù)聚合功能的用法介紹

transform與mutate兩個(gè)函數(shù)都是新建變量,但是前者僅能基于所提供的數(shù)據(jù)框內(nèi)變量進(jìn)行新建,而后者則可以直接在新建變量基礎(chǔ)上進(jìn)行操作。

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

R語言與Python數(shù)據(jù)聚合功能的用法介紹

aggregate是專門用于分組聚合的函數(shù):

aggregate(value~class,data,fun) 

#表達(dá)式左側(cè)是要聚合的目標(biāo)度量,右側(cè)是分組依據(jù),緊接著是數(shù)據(jù)框名稱,最后是聚合函數(shù)。

aggregate(Sepal.Length~Species,iris,mean)

aggregate(Sepal.Length~Species,iris,sum)

R語言與Python數(shù)據(jù)聚合功能的用法介紹

library(dplyr)

使用group_by函數(shù)結(jié)合summarize可以方便的完成分組聚合功能。

iris%>%group_by(Species)%>%summarize(means=mean(Sepal.Length))

iris%>%group_by(Species)%>%summarize(sums=sum(Sepal.Length))

R語言與Python數(shù)據(jù)聚合功能的用法介紹

R語言中的分組聚合如果使用矢量函數(shù)來進(jìn)行操作,會(huì)大大提升其執(zhí)行效率:

tapply(iris$Sepal.Length,iris$Species,mean)

tapply(iris$Sepal.Length,iris$Species,sum)

R語言與Python數(shù)據(jù)聚合功能的用法介紹

tapply(X, INDEX, FUN = NULL, …, simplify = TRUE)

tapply是一個(gè)快捷的分組聚合函數(shù),其參數(shù)簡單易懂,通過提供一個(gè)度量,一個(gè)分類別字段,一個(gè)聚合函數(shù)即可完成簡答的數(shù)據(jù)聚合功能。

library(plyr)

ddply(iris,.(Species),summarize,means=mean(Sepal.Length))

ddply(iris,.(Species),summarize,means=sum(Sepal.Length))

R語言與Python數(shù)據(jù)聚合功能的用法介紹

ddply(.data, .variables, .fun =) #一般只需提供數(shù)據(jù)框,帶聚合分類字段,以及最終的聚合函數(shù)與聚合變量公式。它的用法與內(nèi)置的tpply用法如出一轍。

----------

Python:

----------

import pandas  as pd

import numpy as np

Python中長用到的數(shù)據(jù)聚合工具主要包括groupby函數(shù),agg函數(shù)以及povit_table等。

  • groupby

  • agg

  • povit_table

iris=pd.read_csv("C:/Users/RAINDU/Desktop/iris.csv",sep=",")

iris.head()

iris.describe()

R語言與Python數(shù)據(jù)聚合功能的用法介紹

使用pandas中的groupby方法可以很快捷的進(jìn)行分組數(shù)據(jù)聚合。

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}) 

 #對輸出進(jìn)行自定義命名:

R語言與Python數(shù)據(jù)聚合功能的用法介紹

R語言與Python數(shù)據(jù)聚合功能的用法介紹

只聚合一個(gè)變量可以直接使用對應(yīng)聚合函數(shù),需要聚合多個(gè)變量則可以 借助agg函數(shù)完成。

pd.pivot_table(iris,index=["Species"],values=["Sepal.Length"],aggfunc=[len,np.sum,np.mean],margins=False)

R語言與Python數(shù)據(jù)聚合功能的用法介紹

“R語言與Python數(shù)據(jù)聚合功能的用法介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

當(dāng)前標(biāo)題:R語言與Python數(shù)據(jù)聚合功能的用法介紹
文章URL:http://muchs.cn/article8/ihpcop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站、軟件開發(fā)、網(wǎng)站導(dǎo)航、App開發(fā)、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站