有时,你希望将函数应用到由各列或者各行形成的一维数组上,此时
DataFrame
的.apply()
方法即可实现此功能。.apply(func, axis=0, broadcast=False, raw=False, reduce=None, args=(), **kwds)
func
:一个可调用对象,它会应用于每一行或者每一列axis
:指定应用于行还是列。如果为0/'index'
,则沿着0轴计算(应用于每一列);如果为1/'columns'
,则沿着1轴计算(应用于每一行)。broadcast
:一个布尔值,如果为True
,则结果为DataFrame
(不足的部分通过广播来填充)reduce
:一个布尔值。用于判断当DataFrame
为空时,应该返回一个还是返回一个DataFrame
。如果为True
,则结果为Series
;如果为False
,则结果为DataFrame
。args
:传递给func
的额外的位置参数(第一个位置参数始终为Series/ndarray
)
Series
的.apply()
方法应用到Series
的每个元素上:.apply(func, convert_dtype=True, args=(), **kwds)
func
:一个可调用对象,它会应用于每个元素args
:传递给func
的额外的位置参数。kwds
:传递给func
的额外的关键字参数。
Series
的.map(arg,na_action=None)
方法会应用到Series
的每个元素上:arg
:一个函数、字典或者Series
。如果为字典或者Series
,则它是一种映射关系,键/index label
就是自变量,值就是返回值。na_action
:如果为ignore
,则忽略NaN