Articles of numpy scipy

Crear matriz de CSR a partir de x_index, y_index, valor

Tengo datos del formato (x_index, y_index, valor) y estoy tratando de crear una matriz de CSR utilizando scipy (scipy.sparse.csr.csr_matrix). Por ejemplo, convertir: 0 0 10 0 1 5 1 0 3 1 1 4 A lo siguiente: 10 5 3 4 He leído la documentación aquí: http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html Sin embargo, todavía no tengo claro cuál de […]

Encuentra columnas de cero en la matriz dispersa de pandas

Por ejemplo tengo una coo_matriz A: import scipy.sparse as sp A = sp.coo_matrix([3,0,3,0], [0,0,2,0], [2,5,1,0], [0,0,0,0]) ¿Cómo puedo obtener el resultado [0,0,0,1], que indica que las primeras 3 columnas contienen valores distintos de cero, solo la 4ª columna es todo ceros? PS: no se puede convertir A a otro tipo. PS2: intenté usar np.nonzeros pero […]

¿Cuál es la forma más rápida de multiplicar con una matriz extremadamente dispersa?

Tengo una matriz estructurada muy escasa. Mi matriz tiene exactamente una entrada no nula por columna. Pero es enorme (10k * 1M) y se da en la siguiente forma (utilizando valores aleatorios, por ejemplo) rows = np.random.randint(0, 10000, 1000000) values = np.random.randint(0,10,1000000) donde las filas nos da el número de fila para una entrada distinta […]

La forma más rápida de sumr sobre filas de matriz dispersa

Tengo un csr_matrix grande (1M * 1K) y quiero agregar sobre filas y obtener un nuevo csr_matrix con el mismo número de columnas pero reducido el número de filas. En realidad, mi problema es exactamente el mismo que este Suma sobre filas en scipy.sparse.csr_matrix . Lo único es que encuentro que la solución aceptada es […]

Distancia euclidiana con pesas.

Actualmente estoy usando SciPy para calcular la distancia euclidiana dis = scipy.spatial.distance.euclidean(A,B) dónde; A, B son vectores de bits de 5 dimensiones. Ahora funciona bien, pero si agrego pesos para cada dimensión, ¿es posible usar Scipy? Lo que tengo ahora: sqrt((a1-b1)^2 + (a2-b2)^2 +…+ (a5-b5)^2) Lo que quiero: sqrt(w1(a1-b1)^2 + w2(a2-b2)^2 +…+ w5(a5-b5)^2) usando scipy […]

Scipy expit: comportamiento inesperado. NaNs

Noté que algunos nanos aparecían inesperadamente, en mis datos. (y expandiendo y ocultando todo lo que tocaron) Hicieron una investigación cuidadosa y produjeron un ejemplo de trabajo mínimo: >>> import numpy >>> from scipy.special import expit >>> expit(709) 1.0 >>> expit(710) nan Expit es el logit inverso. Documentación Scipy aquí . Lo que nos dice: […]

Elemento sabio poder de la matriz scipy.sparse

¿Cómo puedo elevar una matriz scipy.sparse a un poder, de forma elemental? numpy.power debería, según su manual , hacer esto, pero falla en matrices dispersas: >>> X <1353×32100 sparse matrix of type '’ with 144875 stored elements in Compressed Sparse Row format> >>> np.power(X, 2) Traceback (most recent call last): File “”, line 1, in […]

punto scipy.sparse extremadamente lento en Python

El siguiente código ni siquiera terminará en mi sistema: import numpy as np from scipy import sparse p = 100 n = 50 X = np.random.randn(p,n) L = sparse.eye(p,p, format=’csc’) XTdot(L).dot(X) ¿Hay alguna explicación de por qué esta multiplicación de matrices está colgando?

¿Cómo usar scipy.integrate para obtener el volumen de una esfera truncada?

Estoy luchando con el uso de scipy.integrate, usé tplquad, pero ¿cómo puedo usar la integrate para obtener el volumen de la esfera (truncada)? Gracias import scipy from scipy.integrate import quad, dblquad, tplquad from math import* from numpy import * R = 0.025235 #radius theta0 = acos(0.023895) #the angle from the edge of truncated plane to […]

Sustituya la difusión numpy usando scipy.sparse.csc_matrix

Tengo en mi código la siguiente expresión: a = (b / x[:, np.newaxis]).sum(axis=1) donde b es un ndarray de forma (M, N) , y x es un ndarray de forma (M,) . Ahora, b es en realidad escasa, por lo que para la eficiencia de la memoria me gustaría sustituir en scipy.sparse.csc_matrix o csr_matrix . […]