python——reduce()函数与np.cumsum()函数

在python3中如果使用reduce()函数需要先导入

from functools import reduce

reduce函数会对参数序列中元素进行累积
与 map 函数不同,reduce 执行迭代的二元运算,只输出一个单值。

reduce函数的定义:
reduce(function, sequence [, initial] ) -> value
function参数是一个有两个参数的函数,reduce依次从sequence中取一个元素,和上一次调用function的结果做参数再次调用function。
第一次调用function时,如果提供initial参数,会以sequence中的第一个元素和initial作为参数调用function,否则会以序列sequence中的前两个元素做参数调用function。

print(reduce(lambda x,y: x+y, [1,2,3,4,5]))

结果为:15

print(reduce(lambda x,y: x+y, [1,2,3,4,5],8))

结果为:23

print(reduce(lambda x,y: x*y, [1,2,3,4,5]))

结果为:120

注意:与np.cumsum()的区别

print(np.cumsum([1,2,3,4,5]))

结果为:[ 1 3 6 10 15]

print(np.cumsum([[1,2,3,4,5],[3,4,5,2,4]],))

结果为:
[ 1 3 6 10 15 18 22 27 29 33]

print(np.cumsum([[1,2,3,4,5],[3,4,5,2,4]],axis=1))

结果为:

[[ 1 3 6 10 15]
[ 3 7 12 14 18]]

print(np.cumsum([[1,2,3,4,5],[3,4,5,2,4]],axis=0))

结果为:
[[1 2 3 4 5]
[4 6 8 6 9]]

你可能感兴趣的:(python——reduce()函数与np.cumsum()函数)