作用:
apply是一种让函数作用于列或者行操作;
applymap是一种让函数作用于DataFrame每一个元素的操作;
map是一种让函数作用于Series每一个元素的操作。
关于apply:
apply是DataFrame数据类型的函数;
当想让方程作用在一维的向量上时,可以使用apply来完成;
apply的操作对象DataFrame的一列或者一行数据。
关于applymap:
applymap是DataFrame数据类型的函数;
applymap是element-wise的,作用于每个DataFrame的每个数据;
如果想让方程作用于DataFrame中的每一个元素,可以使用applymap。
关于map:
map是Series数据类型的函数;
map是element-wise的,对Series中的每个数据调用一次函数;
map主要是作用将函数作用于一个Series的每一个元素。
案例
以两列数据为例:
def sum_test (a, b):
return a+b
如果想对df表中其中两列(列名1,列名2)作加和处理操作,得到新列名位sum_value:
两种不同的写法:
1、df ['sum_value'] = df.apply(lambda x: sum_test(x['列名1'],x['列名2']), axis=1)
2、df ['sum_value'] = df.apply(sum_test,args= ( sum_test(df['列名1'],df['列名2'] ), axis=1)
axis=1代表,对纵轴数据进行相关操作,即列。