如何将函数应用于pandas数据帧的元素

时间:2015-06-12 20:13:04

标签: pandas lambda dataframe

我想将lambda函数应用于数据帧的元素,就像np.sqrt返回包含每个元素的sqrt的数据帧一样。但是,pd.DataFrame.apply将该函数应用于行或列。是否有类似的命令在每个元素上应用lambda函数?

1 个答案:

答案 0 :(得分:1)

您可以使用applymap方法:

import pandas as pd
df = pd.DataFrame( { "a": [1,1], "b":[1,2], "c":[3,5]})
df
     a  b  c
  0  1  1  3
  1  1  2  5
 [2 rows x 3 columns]

f = lambda x: x+2

df.applymap(f)
     a  b  c
  0  3  3  5
  1  3  4  7
  [2 rows x 3 columns]