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!

推薦閱讀: