En numpy, las arrays pueden tener tipos de datos que contienen campos, de forma análoga a las columnas en una hoja de cálculo. Un ejemplo es [(a, int), (b, float)]
, donde cada entrada en la array es un par de (int, float). Normalmente, se accede a estos atributos mediante búsquedas en diccionarios como arr['a'] and arr['b']
. Las arrays de registros permiten acceder a los campos como miembros de la array, utilizando arr.a and arr.b
.
numpy.recarray.dot()
La función devuelve el producto de dos arrays de registros.
Sintaxis:
numpy.recarray.dot(arr, out=None)
Parámetros:
arr : Segunda array de registros.
out : [ndarray, opcional] Una ubicación en la que se almacena el resultado.
-> Si se proporciona, debe tener una forma a la que se transmitan las entradas.
-> Si no se proporciona o Ninguno, se devuelve una array recién asignada.Devolución: se devuelve una nueva array que contiene el resultado, a menos que se especifique out, en cuyo caso se devuelve.
Código #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
)])
(
"1st Input array : "
, in_arr1)
(
"2nd Input array : "
, in_arr2)
# convert it to a record array,
# using arr.view(np.recarray)
rec_arr1
=
in_arr1.view(geek.recarray)
(
"1st Record array of float: "
, rec_arr1.a)
(
"1st Record array of int: "
, rec_arr1.b)
rec_arr2
=
in_arr2.view(geek.recarray)
(
"2nd Record array of float: "
, rec_arr2.a)
(
"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)
(
"Output float array : "
, out_arr1)
# applying recarray.dot methods
# between two int record array
out_arr1
=
rec_arr1.b.dot( rec_arr2.b)
(
"Output int array : "
, out_arr1)
Producción: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]]
Publicación traducida automáticamente
Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA