  # Numpy recarray.cumprod () function | python

NumPy | Python Methods and Functions

`numpy.recarray.cumprod()` returns the cumulative product of array elements along a given axis.

Syntax: ` numpy.recarray.cumprod (axis = None, dtype = None, out = None) `

Parameters:
axis: Axis along which the cumulative product is computed. The default is to compute the product of the flattened array.
dtype: Type of the returned array, as well as of the accumulator in which the elements are multiplied.
out: [ndarray, optional] A location into which the result is stored.
- & gt; If provided, it must have a shape that the inputs broadcast to.
- & gt; If not provided or None, a freshly-allocated array is returned.

Return: A new array holding the result is returned unless out is specified, in which case it is returned.

Code # 1:

 ` # Python program explaining ` ` # numpy.recarray.cumprod () method `   ` # import numy as geek ` ` import ` ` numpy as geek `   ` # create an input array with two different fields ` ` in_arr ` ` = ` ` geek.array ([[(` ` 5.0 ` `, ` ` 2 ), ( 3.0 , - 4 ), ( 6.0 , 9 )], ``   [( 9.0 , 1 ), ( 5.0 , 4 ), ( - 12.0 , - 7 )]],   dtype = [( ` a` , float ), ( `b` , int )]) print ( "Input array:" , in_arr)   # convert it to array of posts, # using arr.view (np.recarray) rec_arr = in_arr.view (geek.recarray) print ( "Record array of float:" , rec_arr.a) print ( " Record array of int: " , rec_arr .b)    # using recarray.cumprod methods # place an array of posts along axis 1 out_arr = rec_arr.a.cumprod ( axis = 1 ) print ( "Output array along axis 1:" , out_arr)    # applying recarray.cumprod methods # to an array of int records along the 0 axis out_arr = rec_arr.b.cumprod (axis = 0 ) print ( "Output array along axis 0:" , out_arr)  `

Output:

` Input array: [[(5., 2) (3., -4) (6., 9)] [(9., 1) (5., 4) (-12., -7)]] Record array of float: [[5. 3. 6. ] [9. 5. -12.]] Record array of int: [[2 -4 9] [1 4 -7]] Output array along axis 1: [[5. 15. 90.] [9. 45. -540.]] Output array along axis 0: [[2 -4 9] [2 -16 -63]] `