Python數據分析之 Pandas Dataframe應用自定義
前言:
在進行數據分析時,難免需要對數據集應用一些我們自定義的一些函數,或者其他庫的函數,得到我們想要的數據,這種情況下,可能大傢第一時間想到的是使用for循環遍歷Dataframe對象,取到指定行/列的數據再進行自定義函數的應用,當然這種方法完全可以實現,但是效率不高,接下來就來介紹一下在Pandas中如何對數據集高效的進行自定義函數的應用。
應用函數
apply 方法
apply()
函數是一個自定義函數作用於某一行或幾行,或者某一列或多列上的每一個元素, 使用格式如下:
df.apply(func, axis=0, *args, **kwargs)
參數如下:
- func:指定函數
- axis:指定作用於行還是列,默認為0,表示作用於列,設置為1表示作用於行
- *args&**kwargs:接收任意數量、類型的參數,這些參數被傳遞到函數func
例如,對下面Dataframe執行進行操作:
自定義"返回最大值"的函數並作用於該Dataframe:
def func(x): return x.max() df.apply(func)
結果輸出如下:
可見,結果返回瞭每列最大的值,如果想返回每行最大的值,設置axis=1
即可。
當然apply()
也支持傳遞lambda匿名函數。
applymap 方法
applymap()
函數可以作用於DataFrame中的每一個元素,例如,轉換DataFrame中數據的格式:
df.applymap(lambda x: '%.2f' % x)
註意:Pandas還提供瞭一個map()
方法,作用於Series對象,此類方法和Python原生的map()
方法都很類似。
到此這篇關於Python數據分析之 Pandas Dataframe應用自定義的文章就介紹到這瞭,更多相關Pandas Dataframe應用自定義內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- pandas map(),apply(),applymap()區別解析
- 詳解Pandas的三大利器(map,apply,applymap)
- pandas中關於apply+lambda的應用
- python3中apply函數和lambda函數的使用詳解
- 解析pandas apply() 函數用法(推薦)