本篇內容介紹了“R語言與Python數(shù)據(jù)聚合功能的用法介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為代縣企業(yè)提供專業(yè)的網站設計、成都網站設計,代縣網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
R語言與Python的Pandas中具有非常豐富的數(shù)據(jù)聚合功能,今天就跟大家盤點一下這些函數(shù)的用法。
R語言:
transform
mutate
aggregate
grouy_by+summarize
ddply
Python:
groupby
pivot.table
在R語言中,新建變量最為快捷的方式是通過transform(當然你可以選擇使用自定義函數(shù)),該函數(shù)支持基于同一個數(shù)據(jù)框新建多個變量。
這里仍然使用經典的鶯尾花數(shù)據(jù)集演示:
iris1<-iris
transform與mutate兩個函數(shù)都是新建變量,但是前者僅能基于所提供的數(shù)據(jù)框內變量進行新建,而后者則可以直接在新建變量基礎上進行操作。
(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是專門用于分組聚合的函數(shù):
aggregate(value~class,data,fun)
#表達式左側是要聚合的目標度量,右側是分組依據(jù),緊接著是數(shù)據(jù)框名稱,最后是聚合函數(shù)。
aggregate(Sepal.Length~Species,iris,mean)
aggregate(Sepal.Length~Species,iris,sum)
library(dplyr)
使用group_by函數(shù)結合summarize可以方便的完成分組聚合功能。
iris%>%group_by(Species)%>%summarize(means=mean(Sepal.Length))
iris%>%group_by(Species)%>%summarize(sums=sum(Sepal.Length))
R語言中的分組聚合如果使用矢量函數(shù)來進行操作,會大大提升其執(zhí)行效率:
tapply(iris$Sepal.Length,iris$Species,mean)
tapply(iris$Sepal.Length,iris$Species,sum)
tapply(X, INDEX, FUN = NULL, …, simplify = TRUE)
tapply是一個快捷的分組聚合函數(shù),其參數(shù)簡單易懂,通過提供一個度量,一個分類別字段,一個聚合函數(shù)即可完成簡答的數(shù)據(jù)聚合功能。
library(plyr)
ddply(iris,.(Species),summarize,means=mean(Sepal.Length))
ddply(iris,.(Species),summarize,means=sum(Sepal.Length))
ddply(.data, .variables, .fun =) #一般只需提供數(shù)據(jù)框,帶聚合分類字段,以及最終的聚合函數(shù)與聚合變量公式。它的用法與內置的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()
使用pandas中的groupby方法可以很快捷的進行分組數(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})
#對輸出進行自定義命名:
只聚合一個變量可以直接使用對應聚合函數(shù),需要聚合多個變量則可以 借助agg函數(shù)完成。
pd.pivot_table(iris,index=["Species"],values=["Sepal.Length"],aggfunc=[len,np.sum,np.mean],margins=False)
“R語言與Python數(shù)據(jù)聚合功能的用法介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網站,小編將為大家輸出更多高質量的實用文章!
當前標題:R語言與Python數(shù)據(jù)聚合功能的用法介紹
文章URL:http://m.newbst.com/article8/ihpcop.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供品牌網站建設、動態(tài)網站、軟件開發(fā)、網站導航、App開發(fā)、ChatGPT
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)