7分钟
apply1
1. 你可以使用numpy
的ufunc
函数操作pandas
对象。
2. 有时,你希望将函数应用到由各列或者各行形成的一维数组上,此时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
(不足的部分通过广播来填充)raw
:一个布尔值。如果为False
,则转换每一行/每一列为一个Series
,然后传给func
作为参数。如果True
,则func
接受到的是ndarray
,而不是Series
reduce
:一个布尔值。用于判断当DataFrame
为空时,应该返回一个Series
还是返回一个DataFrame
。如果为True
,则结果为Series
;如果为False
,则结果为DataFrame
。args
:传递给func
的额外的位置参数(第一个位置参数始终为Series/ndarray
)
3. 有时,你希望将函数应用到DataFrame
中的每个元素,则可以使用.applymap(func)
方法。之所以不叫map
,是因为Series
已经有个.map
方法。
学员评价