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