pandas 中有關agg函式和apply函式的區別
在利用python進行資料分析 這本書中其實沒有明確表明這兩個函式的卻別,而是說apply更一般化.
其實在這本書的第九章‘陣列及運算和轉換’點到了兩者的一點點區別:agg是用來聚合運算的,所謂的聚合當然是合成的成分比較大些,這一節開頭就點到了:聚合只不過是分組運算的其中一種而已。它是資料轉換的一個特例,也就是說,它接受能夠將一維陣列簡化為標量值的函式。
當然這兩個函式都是作用在groupby物件上的,也就是分完組的物件上的,分完組之後針對某一組,如果值是一維陣列,在利用完特定的函式之後,能做到簡化的話,agg就能呼叫,反之,如果比如自定義的函式是排序,或者像是書中278頁所定義的top這一類的函式,當然是agg所不能解決的,這時候用apply就可以解決。因為他更一般化,不存在什麼簡化,什麼一維陣列,什麼標量值。
以上純屬個人見解,不喜勿噴。
相關推薦
pandas 中有關agg函式和apply函式的區別
在利用python進行資料分析 這本書中其實沒有明確表明這兩個函式的卻別,而是說apply更一般化. 其實在這本書的第九章‘陣列及運算和轉換’點到了兩者的一點點區別:agg是用來聚合運算的,所謂的聚合當然是合成的成分比較大些,這一節開頭就點到了:聚合只不過是分組運算的其中一
JavaScript筆記:最詳細的call函式和apply函式用法總結
昨天聽了一堂直播,裡面有教到關於forEach函式的原始碼編寫,提到了call()和apply()函式,有點懵,這才發現之前我學的太快了,有很多細節沒有注意,當進行實戰時才發現漏了一些東西,現在開始查漏補缺。 今天就好好總結一下call()和apply()方法的應用。首先,這兩個函式
Android 中sharedpreference的commit和apply的區別
今天在提交程式碼的時候,提示有warning,以前都是看都不看,直接跳過的,今天心血來潮,開啟看了一下,也發現了一些自己在編碼過程中不規範的地方,然後,就看到了這邊文章的重點,關於sharedpreference的
pandas中loc,iloc和ix的區別
pandas (loc、iloc、ix)的區別 loc:通過行標籤索引資料 iloc:通過行號索引行資料,df.iloc[i]返回df的第i行。 i不引用索引標籤,i是從0開始的索引 ix:通過行標籤或行號索引資料(基於loc和iloc的混合) 1.使
js中call、bind和apply的區別
相似之處: 如果你要傳遞的引數不多,則可以使用fn.call(thisObj, arg1, arg2 ...) 如果你
JS中的call和apply函式
call 函式 語法 obj.call(thisObj,arg[,arg2[,arg3[,...agr]]]); 簡介 thisObj繼承obj的屬性和方法(obj原
db2中left()函式和right()函式對應oracle中的substr()函式
DB2 LEFT、RIGHT函式 語法:LEFT(ARG,LENGTH)、RIGHT(ARG,LENGTH) LEFT、RIGHT函式返回ARG最左邊、右邊的LENGTH個字串,ARG可以是CHAR或BINARY STRING。 eg:
Java中的靜態變數和靜態函式
Java中的靜態變數和靜態函式 靜態變數: 在JAVA中類在宣告的時候,其實並沒有申請和產生記憶體空間,就如同我們的一個切實可行的想法,但其實並沒有去實施這個想法。而類只有在用這種資料型別建立一個類的物件的時候,才能在記憶體中申請和產生類大小的記憶體空間,這一塊記憶體空間是用來存放
linux中alarm函式和pause函式詳解例項
轉載原文:https://www.cnblogs.com/yxk529188712/p/4982401.html alarm(time);執行之後告訴核心,讓核心在time秒時間之後向該程序傳送一個定時訊號,然後該程序捕獲該訊號並處理; pause()函式使該程序暫停讓出CPU,但是該函式的暫停
PHP 中 call_user_func 函式 和 call_user_func_array 函式
PHP 中 call_user_func() 函式 和 call_user_func_array()函式都是回撥函式 區別: call_user_func() 可以有多個引數,第一個引數為被呼叫的回撥函式,除了第一個引數外,其他引數均為被呼叫函式的引數 c
《隨筆九》——C#中的 “ typeof運算子 和 GetType() 函式”
● C#中任何物件都具有GetType()方法,x.GetType(),其中x為變數名。它的作用和typeof()相同,返回Type型別的當前物件的型別。 typeof(x)中的x,必須是具體的類名、型別名稱等,不可以是變數名稱;GetType()是基類Syst
OpenCV 中的split函式和merge函式 及示例
就讓我們來詳細介紹一下這兩個互為冤家的函式。首先是進行通道分離的split函式。 <1>split函式詳解 將一個多通道陣列分離成幾個單通道陣列。ps:這裡的array按語境譯為陣列或者陣列。 這個split函式的C++版本有兩個原型,他們分別是: C++:
C語言 time.h中clock()函式 和 time()函式的使用
NAME clock - determine processor time //處理器時間處理 SYNOPSIS #include <time
python 中join()函式strip() 函式和 split() 函式的詳解及例項
1、join()函式 Python中有join()和os.path.join()兩個函式,具體作用如下: join(): 連線字串陣列。將字串、元組、列表中的元素以指定的字元(分隔符)連線生成一個新的字串 語法: ‘sep’.join(seq) 引數說明 sep:分隔符。可以
python中的可迭代物件和迭代器(iter函式和next函式)
iter函式: 獲取可迭代物件身上的迭代器, 會呼叫可迭代物件身上的iter的方法 next函式: 獲取迭代器中的下一個值,會呼叫迭代器物件身上的next的方法 from collections import Iterable from collections im
在Scala中使用函數語言程式設計(函式和高階函式)
圖示,這是一個普通
Python 3.6中reduce函式和cmp函式
1,Python 3中取消了cmp函式,使用cmp功能的話需按如下所示(方法一種): import operator #help(operator) ... __ge__ = ge(...) ge(a, b) -- Same as a>=b. __eq__ = eq(...
Oracle中的substr()函式和INSTR()函式
1)substr函式格式 (俗稱:字元擷取函式) 格式1: substr(string string, int a, int b); 格式2:substr(string string, int a) ; 解釋: 格式1:  
Python中函式和方法的區別
在Python中函式和方法是有區別的。 區別一所處的位置:函式是直接寫檔案中而不是class中,方法是隻能寫在class中。 區別二定義的方式: 1.函式定義的方式 def關鍵字 然後接函式名 再是括號 括號裡面寫形參也可以省略不寫形參 def function
python中的map()函式和reduce()函式
map()函式的用法: map(函式function_name, 可迭代物件Iterable) map()函式接受兩個引數,一個是函式,一個是可迭代物件。map()函式將傳入的函式一次作用在序列的每一個元素,並把結果作為新的可迭代物件返回。 舉例說明,比