Articles of numpy de

¿Cómo transmitir una función a través de una matriz numpy, cuando dtype = object?

Si tengo una matriz de valores numéricos, los cuales tenían que usar punteros de objeto en lugar de valores como tipo de datos, debido a longitudes de vectores desiguales: In [145]: import numpy as np In [147]: a = np.array([[1,2],[3,4,5]]) In [148]: a Out[148]: array([[1, 2], [3, 4, 5]], dtype=object) In [150]: np.sin(a) ————————————————————————— AttributeError […]

Reducir la huella de memoria numpy en aplicaciones de larga ejecución

En mi aplicación se generan y se llenan con datos cien arreglos numpy (1000 elementos complejos cada uno). Luego, en muchas iteraciones, los elementos de la matriz se modifican una y otra vez. Después de la generación inicial, el monitor del sistema reporta alrededor de 50 Mb de uso de RAM. Aunque no estoy generando […]

¿Por qué no funciona una asignación para matrices numpy de doble corte?

¿Por qué las siguientes líneas no funcionan como espero? import numpy as np a = np.array([0,1,2,1,1]) a[a==1][1:] = 3 print a >>> [0 1 2 1 1] # I would expect [0 1 2 3 3] ¿Es este un ‘error’ o hay otra forma recomendada para esto? Por otro lado, los siguientes trabajos: a[a==1] = […]

Multiprocesamiento: resultado NULO sin error en PyObject_Call

Aquí hay un progtwig de ejemplo donde uso multiprocesamiento. Los cálculos se realizan con multiprocessing.Process y los resultados se recostackn mediante multiprocessing.Queue . #THIS PROGRAM RUNS WITH ~40Gb RAM. (you can reduce a,b,c for less RAM #but then it works for smaller values) #PROBLEM OCCURS ONLY FOR HUGE DATA. from numpy import * import multiprocessing […]

Mapeo de codificaciones de caracteres a bytes máximos por carácter

Estoy buscando una tabla que asigne una encoding de caracteres dada a los bytes (máximo, en el caso de las codificaciones de longitud variable) por carácter. Para codificaciones de ancho fijo, esto es bastante fácil, aunque no sé, en el caso de algunas de las codificaciones más esotéricas, cuál es ese ancho. Para UTF-8 y […]

Cálculo del gradiente con python

Me gustaría saber cómo funciona numpy.gradient Utilicé el gradiente para intentar calcular la velocidad de grupo (la velocidad de grupo de un paquete de onda es la derivada de las frecuencias con respecto a los números de onda, no un grupo de velocidades). Le di una matriz de 3 columnas, las primeras 2 columnas son […]

¿Filtrar filas de una matriz numpy?

Estoy buscando aplicar una función a cada fila de una matriz numpy. Si esta función se evalúa como verdadera, mantendré la fila; de lo contrario, la descartaré. Por ejemplo, mi función podría ser: def f(row): if sum(row)>10: return True else: return False Me preguntaba si había algo similar a: np.apply_over_axes() que aplica una función a […]

enteros espaciados logarítmicamente

Digamos que tengo un vector de 10,000 pts y quiero tomar una porción de solo 100 puntos espaciados logarítmicamente. Quiero que una función me dé valores enteros para los índices. Aquí hay una solución simple que simplemente usa alrededor de + logspace, y luego deshacerse de los duplicados. def genLogSpace( array_size, num ): lspace = […]

¿Cómo obtener la función de distribución acumulativa con NumPy?

Quiero crear un CDF con NumPy, mi código es el siguiente: histo = np.zeros(4096, dtype = np.int32) for x in range(0, width): for y in range(0, height): histo[data[x][y]] += 1 q = 0 cdf = list() for i in histo: q = q + i cdf.append(q) Estoy caminando por la matriz pero tomo mucho tiempo […]

Cómo ignorar los valores al usar numpy.sum y numpy.mean en matrices

¿Hay una manera de evitar el uso de valores específicos al aplicar sum y media en números? Me gustaría evitar, por ejemplo, el valor -999 al calcular el resultado. In [14]: c = np.matrix([[4., 2.],[4., 1.]]) In [15]: d = np.matrix([[3., 2.],[4., -999.]]) In [16]: np.sum([c, d], axis=0) Out[16]: array([[ 7., 4.], [ 8., -998.]]) […]