Articles of vectorización

Usando numpy.vectorize () para rotar todos los elementos de una matriz NumPy

Estoy en las fases iniciales de aprender NumPy. Tengo una matriz Numpy de matrices 3×3. Me gustaría crear una nueva matriz donde cada una de esas matrices gire 90 grados. He estudiado esta respuesta pero todavía no puedo entender qué estoy haciendo mal. import numpy as np # 3×3 m = np.array([[1,2,3], [4,5,6], [7,8,9]]) # […]

Diferencia entre frompyfunc y vectorize en numpy.

¿Cuál es la diferencia entre vectorize y frompyfunc en numpy? Ambos parecen muy similares. ¿Cuál es un caso de uso típico para cada uno de ellos? Edición : como lo indica JoshAdel, la clase vectorize parece estar construida sobre el frompyfunc de frompyfunc . (ver la fuente ). Todavía no me queda claro si frompyfunc […]

¿Cómo concatenar eficientemente muchas llamadas arange en números?

Me gustaría vectorizar llamadas como numpy.arange(0, cnt_i) sobre un vector de valores cnt y concatenar los resultados como este fragmento de código: import numpy cnts = [1,2,3] numpy.concatenate([numpy.arange(cnt) for cnt in cnts]) array([0, 0, 1, 0, 1, 2]) Desafortunadamente, el código anterior es muy ineficaz en memoria debido a los arreglos temporales y el ciclo […]

¿Cómo vectorizar este código python?

Estoy tratando de usar NumPy y las operaciones de vectorización para hacer que una sección de código se ejecute más rápido. Sin embargo, parece que tengo una mala interpretación de cómo vectorizar este código (probablemente debido a una comprensión incompleta de la vectorización). Aquí está el código de trabajo con los bucles (A y B […]

Mejora el rendimiento de un bucle for en Python (posiblemente con numpy o numba)

Quiero mejorar el rendimiento del bucle for en esta función. import numpy as np import random def play_game(row, n=1000000): “””Play the game! This game is a kind of random walk. Arguments: row (int[]): row index to use in the p matrix for each step in the walk. Then length of this array is the same […]

Numpy Broadcast para realizar la distancia euclídea vectorizada

Tengo matrices que son 2 x 4 y 3 x 4. Quiero encontrar la distancia euclidiana a través de las filas y obtener una matriz de 2 x 3 al final. Aquí está el código con one for loop que calcula la distancia euclidiana para cada vector de fila en contra de todos los vectores […]

Operaciones vectoriales con numpy

Tengo tres matrices numpy: X : una matriz de 3073 x 49000 W : una matriz de 10 x 3073 y : un vector de 49000 x 1 y contiene valores entre 0 y 9, cada valor representa una fila en W Me gustaría agregar la primera columna de X a la fila en W […]

Rellenar matriz de 1D numpy de matrices con índices

Fondo Tengo una matriz 1D NumPy inicializada con ceros. import numpy as np section = np.zeros(1000) Luego tengo un Pandas DataFrame donde tengo índices en dos columnas: d= {‘start’: {0: 7200, 1: 7500, 2: 7560, 3: 8100, 4: 11400}, ‘end’: {0: 10800, 1: 8100, 2: 8100, 3: 8150, 4: 12000}} df = pd.DataFrame(data=d, columns=[‘start’, ‘end’]) […]

¿Cómo encontrar todos los elementos en una matriz bidimensional numpy que coincida con una lista determinada?

Tengo una matriz NumPy bidimensional, por ejemplo: array([[1, 1, 0, 2, 2], [1, 1, 0, 2, 0], [0, 0, 0, 0, 0], [3, 3, 0, 4, 4], [3, 3, 0, 4, 4]]) Me gustaría obtener todos los elementos de esa matriz que están en una lista determinada, por ejemplo (1, 3, 4). El resultado deseado […]

Selección ponderada aleatoria rápida en todas las filas de una matriz estocástica

numpy.random.choice permite la selección ponderada de un vector, es decir, arr = numpy.array([1, 2, 3]) weights = numpy.array([0.2, 0.5, 0.3]) choice = numpy.random.choice(arr, p=weights) selecciona 1 con probabilidad 0.2, 2 con probabilidad 0.5 y 3 con probabilidad 0.3. ¿Qué pasaría si quisiéramos hacer esto rápidamente en forma vectorial para una matriz 2D (matriz) para la […]