Related Articles

# Numpy recarray.dot() function | Python

• Last Updated : 27 Sep, 2019

In numpy, arrays may have a data-types containing fields, analogous to columns in a spreadsheet. An example is `[(a, int), (b, float)]`, where each entry in the array is a pair of (int, float). Normally, these attributes are accessed using dictionary lookups such as `arr['a'] and arr['b']`. Record arrays allow the fields to be accessed as members of the array, using `arr.a and arr.b`.

`numpy.recarray.dot()` function returns product of two record arrays.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

Syntax : `numpy.recarray.dot(arr, out=None)`

Parameters:
arr : Second record array.
out : [ndarray, optional] A location into which the result is stored.
-> If provided, it must have a shape that the inputs broadcast to.
-> 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.dot() method `` ` `# importing numpy as geek``import` `numpy as geek`` ` `# creating 2 input array with 2 different field ``in_arr1 ``=` `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``)])`` ` `in_arr2 ``=` `geek.array([[(``2.0``, ``1``), (``4.0``, ``-``3``)],``                     ``[(``8.0``, ``3``), (``6.0``, ``5``)],``                     ``[(``6.0``, ``-``5``), (``-``5.0``, ``4``)]],``                     ``dtype ``=``[(``'a'``, ``float``), (``'b'``, ``int``)])`` ` `print` `(``"1st Input array : "``, in_arr1)``print` `(``"2nd Input array : "``, in_arr2)`` ` `# convert it to a record array,``# using arr.view(np.recarray)``rec_arr1 ``=` `in_arr1.view(geek.recarray)``print``(``"1st Record array of float: "``, rec_arr1.a)``print``(``"1st Record array of int: "``, rec_arr1.b)``rec_arr2 ``=` `in_arr2.view(geek.recarray)``print``(``"2nd Record array of float: "``, rec_arr2.a)``print``(``"2nd Record array of int: "``, rec_arr2.b)`` ` `# applying recarray.dot methods``# between two float record array ``out_arr1 ``=` `rec_arr1.a.dot( rec_arr2.a)``print` `(``"Output float array  : "``, out_arr1) `` ` `# applying recarray.dot methods``# between two int record array ``out_arr1 ``=` `rec_arr1.b.dot( rec_arr2.b)``print` `(``"Output int array  : "``, out_arr1) `
Output:
```1st Input array :  [[(  5.,  2) (  3., -4) (  6.,  9)]
[(  9.,  1) (  5.,  4) (-12., -7)]]
2nd Input array :  [[( 2.,  1) ( 4., -3)]
[( 8.,  3) ( 6.,  5)]
[( 6., -5) (-5.,  4)]]
1st Record array of float:  [[  5.   3.   6.]
[  9.   5. -12.]]
1st Record array of int:  [[ 2 -4  9]
[ 1  4 -7]]
2nd Record array of float:  [[ 2.  4.]
[ 8.  6.]
[ 6. -5.]]
2nd Record array of int:  [[ 1 -3]
[ 3  5]
[-5  4]]
Output float array  :  [[ 70.   8.]
[-14. 126.]]
Output int array  :  [[-55  10]
[ 48 -11]]
```

My Personal Notes arrow_drop_up