Articles of numpy broadcasting

¿Qué está pasando detrás de este comportamiento de selección numpy?

Respondiendo a esta pregunta , algunos otros y yo nos equivocamos al considerar que lo siguiente funcionaría: Digamos que uno tiene test = [ [ [0], 1 ], [ [1], 1 ] ] import numpy as np nptest = np.array(test) ¿Cuál es la razón detrás >>> nptest[:,0]==[1] array([False, False], dtype=bool) mientras uno tiene >>> nptest[0,0]==[1],nptest[1,0]==[1] […]

Use numpy.frompyfunc para agregar difusión a una función de python con argumento

Desde una matriz como db (que será aproximadamente (1e6, 300) ) y una mask = [1, 0, 1] vector, defino el objective como un 1 en la primera columna. Quiero crear un vector de out que consiste en unos donde la fila correspondiente en db coincide con la mask y el target==1 , y ceros […]

Explicación de Numpy Broadcasting Answer

Recientemente publiqué una pregunta aquí que fue respondida exactamente como lo pedí. Sin embargo, creo que sobreestimé mi capacidad para manipular aún más la respuesta. Leí el documento de transmisión y seguí algunos enlaces que me llevaron hasta el año 2002 sobre la transmisión de números. He utilizado el segundo método de creación de matrices […]

numpy – funciones vectorizadas: apply_over_axes / apply_along_axis

Quiero calcular el determinante de m m subarreglos de arreglos dimensionales de am m * n, y me gustaría hacerlo de una manera más rápida y elegante. El enfoque de fuerza bruta funciona: import numpy as n array=n.array([[[0.,1.,2.,3.],[2,1,1,0]],[[0.5, 0.5,2,2],[0.5,1,0,2]]]) detarray=n.zeros(4) for i in range(4): detarray[i]= n.linalg.det(array[:,:,i]) Habría intentado hacer esto con apply_along_axis, pero sé que […]

Calcular distancias entre un punto en matriz de todos los otros puntos

Soy nuevo en Python y necesito implementar un algoritmo de clustering. Para eso, tendré que calcular distancias entre los datos de entrada dados. Considere los siguientes datos de entrada: [[1,2,8], [7,4,2], [9,1,7], [0,1,5], [6,4,3]] Lo que estoy buscando lograr aquí es, quiero calcular la distancia de [1,2,8] de TODOS los demás puntos, y encontrar un […]

Transmitir una operación a lo largo de un eje específico en python

En python, supongamos que tengo una matriz cuadrada X , de tamaño nxn y tengo un vector numpy a de tamaño n . Muy simplemente, quiero realizar una resta de transmisión de X – a , pero quiero poder especificar a lo largo de qué dimensión, de modo que puedo especificar que la resta sea […]

adormidera taquigrafía para tomar rebanadas dentadas

Tengo una operación que estoy haciendo comúnmente y la llamo “corte irregular” porque no sé el nombre real de la misma. Se explica mejor con el ejemplo: a = np.random.randn(50, 10) entries_of_interest = np.random.randint(10, size = 50) # Vector of 50 indices between 0 and 9 # Now I want the values contained in each […]

Restar de forma eficiente matrices numpy de diferentes formas

Usando las excelentes reglas de emisión de números, puede restar una matriz de formas (3) v de una matriz de formas (5,3) con X – v El resultado es una matriz de forma (5,3) en la que cada fila i es la diferencia X[i] – v . ¿Hay una manera de restar una matriz w […]

Aritmética de NumPy transmitida: ¿por qué es un método mucho más eficaz?

Esta pregunta es un seguimiento de mi respuesta de manera eficiente para calcular la matriz de Vandermonde . Aquí está la configuración: x = np.arange(5000) # an integer array N = 4 Ahora, voy a calcular la matriz de Vandermonde de dos maneras diferentes: m1 = (x ** np.arange(N)[:, None]).T Y, m2 = x[:, None] […]

Difusión Numpy

¿Qué pasa cuando hago esta operación en Numpy? a = np.ones([500,1]) b = np.ones([5000,])/2 c = a + b # a.shape (500,1) # b.shape (5000, ) # c.shape (500, 5000) Me está costando entender qué está sucediendo realmente en esta transmisión.