vectores una transpuesta multiplicar matriz matrices funciones elementos ejemplos arreglos array agregar python numpy

multiplicar - transpuesta de una matriz en python numpy



¿Cómo convertir una matriz numpy flotante 2D a una matriz numpy int 2D? (4)

Algunas funciones numpy para controlar el redondeo: rint , floor , trunc , ceil . Dependiendo de cómo desee redondear los flotadores, hacia arriba, hacia abajo o hacia el int más cercano.

>>> x = np.array([[1.0,2.3],[1.3,2.9]]) >>> x array([[ 1. , 2.3], [ 1.3, 2.9]]) >>> y = np.trunc(x) >>> y array([[ 1., 2.], [ 1., 2.]]) >>> z = np.ceil(x) >>> z array([[ 1., 3.], [ 2., 3.]]) >>> t = np.floor(x) >>> t array([[ 1., 2.], [ 1., 2.]]) >>> a = np.rint(x) >>> a array([[ 1., 2.], [ 1., 3.]])

Para hacer uno de estos en int, o uno de los otros tipos en numpy, astype (como contestó BrenBern):

a.astype(int) array([[1, 2], [1, 3]]) >>> y.astype(int) array([[1, 2], [1, 2]])

¿Cómo convertir una matriz numpy real a una matriz numpy int? Intenté usar el mapa directamente a la matriz pero no funcionó.


Si no está seguro de que su entrada será una matriz de Numpy, puede usar asarray con dtype=int lugar de astype :

>>> np.asarray([1,2,3,4], dtype=int) array([1, 2, 3, 4])

Si la matriz de entrada ya tiene el dtype correcto, asarray evita la copia de la matriz mientras que astype no la tiene (a menos que especifique copy=False ):

>>> a = np.array([1,2,3,4]) >>> a is np.asarray(a) # no copy :) True >>> a is a.astype(int) # copy :( False >>> a is a.astype(int, copy=False) # no copy :) True


puedes usar np.int_ :

>>> x = np.array([[1.0, 2.3], [1.3, 2.9]]) >>> x array([[ 1. , 2.3], [ 1.3, 2.9]]) >>> np.int_(x) array([[1, 2], [1, 2]])


Utiliza el método astype .

>>> x = np.array([[1.0, 2.3], [1.3, 2.9]]) >>> x array([[ 1. , 2.3], [ 1.3, 2.9]]) >>> x.astype(int) array([[1, 2], [1, 2]])