當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Pandas DataFrame applymap方法用法及代碼示例


Pandas DataFrame.applymap(~) 方法在源 DataFrame 的每個條目上應用一個函數。請注意,將返回 DataFrame 的新副本,因此源 DataFrame 將保持不變。

參數

1. func | function

該函數將 DataFrame 的條目作為參數並返回新值。

返回值

具有轉換後的值的新DataFrame。

警告

為了檢查是否可以進行任何優化,applymap(~) 在第一行/列上調用 func 兩次。正如您所期望的,這些函數中隻有一個會實際應用映射並返回新值。

但陷阱是,如果指定的 func 修改了其他內容,那麽該修改最終將在第一行/列中發生兩次。

例子

基本用法

考慮以下 DataFrame :

df = pd.DataFrame({"A":[3,4], "B":[5,6]})
df



   A  B
0  3  5
1  4  6

假設我們想將 DataFrame 中的每個值增加 5

df.applymap(lambda x : x + 5)



   A  B
0  8  10
1  9  11

請注意以下事項:

  • x 表示 df 的條目(例如 34 等)。

  • 由於返回了新的DataFrame,我們原來的df 保持不變。

更喜歡矢量化操作而不是 applymap

大多數時候,我們不需要使用applymap(~),因為我們可以直接操作元素,如下所示:

df + 5



   A  B
0  8  10
1  9  11

這些矢量化操作比 apply(~) applymap(~) 等轉換的性能要高得多。

相關用法


注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 Pandas DataFrame | applymap method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。