1. 程式人生 > >pandas 中有關agg函式和apply函式的區別

pandas 中有關agg函式和apply函式的區別

在利用python進行資料分析 這本書中其實沒有明確表明這兩個函式的卻別,而是說apply更一般化.

其實在這本書的第九章‘陣列及運算和轉換’點到了兩者的一點點區別:agg是用來聚合運算的,所謂的聚合當然是合成的成分比較大些,這一節開頭就點到了:聚合只不過是分組運算的其中一種而已。它是資料轉換的一個特例,也就是說,它接受能夠將一維陣列簡化為標量值的函式。

當然這兩個函式都是作用在groupby物件上的,也就是分完組的物件上的,分完組之後針對某一組,如果值是一維陣列,在利用完特定的函式之後,能做到簡化的話,agg就能呼叫,反之,如果比如自定義的函式是排序,或者像是書中278頁所定義的top這一類的函式,當然是agg所不能解決的,這時候用apply就可以解決。因為他更一般化,不存在什麼簡化,什麼一維陣列,什麼標量值。

以上純屬個人見解,不喜勿噴。