python numpy模块 universal functon accumulate() 函数用法
原创
©著作权归作者所有:来自51CTO博客作者勤奋的大熊猫的原创作品,请联系作者获取转载授权,否则将追究法律责任
这里简单地介绍一下numpy
模块中地accumulate()
函数的用法。
代码如下:
# -*- coding: utf-8 -*-
import numpy as np
class Debug:
def __init__(self):
self.array1 = np.array([1, 2, 3, 4])
self.array3 = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
def mainProgram(self):
result = np.add.accumulate(self.array1)
print("The value of result is: ")
print(result)
result1 = np.add.accumulate(self.array3, axis=0)
print("The value of result1 is: ")
print(result1)
result2 = np.add.accumulate(self.array3, axis=1)
print("The value of result2 is: ")
print(result2)
if __name__ == '__main__':
main = Debug()
main.mainProgram()
"""
The value of result is:
[ 1 3 6 10]
The value of result1 is:
[[ 1 2 3 4]
[ 6 8 10 12]]
The value of result2 is:
[[ 1 3 6 10]
[ 5 11 18 26]]
"""
我们可以看到,accumulate()
函数是一个累计起来的运算,当它作用在add()
函数上时,就是一个累加运算,self.array1
的值为[1, 2, 3, 4]
,当我们进行累加后得到[ 1 3 6 10]
,我们可以看到,第二个值3=1+2
,第三个值6=1+2+3
,第四个值10=1+2+3+4
。从result1
的结果和result2
的结果,我们可以看出,当指定axis=0
时是沿着y
轴进行累加,指定axis=1
时是沿着x
轴进行累加,具体为什么这样,可以参考np.repeat()的坐标轴问题。
如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~