¿Cómo puedo asignar un valor a un espacio vacío en una matriz dispersa de tipo scipy csr?
Estoy trabajando con una matriz enorme de tipo csr utilizando SciPy. Esparcida, y quiero agregar un valor a un lugar vacío que nunca se utilizó ni asignó cuando se creó la matriz, sin convertirla en una matriz densa. Tengo los valores deseados de fila, columna y datos, pero no sé cómo acceder a ese elemento específico y agregarle el valor.
Actualización:
Intenté este método pero obtengo un extraño “error de núcleo” y no funciona, asumir: (estamos en la fila k)
data(de la fila k) = np.insert(data, index, 5)
col(indice de la fila) = np.insert(col, index, colIndex)
fila[k+1:] += 1
No puedo entender qué hice mal.
davy.ai
Para actualizar un espacio vacío en una matriz dispersa de tipo csr utilizando SciPy, se pueden seguir los siguientes pasos:
indptr
eindices
de la matriz csr para obtener la posición de inicio y fin de la fila i en los arrays de datos y columnas.indptr
para reflejar el nuevo número de elementos no nulos en la fila después de la inserción.Se debe tener en cuenta que este enfoque asume que la matriz está ordenada por índices de filas y columnas, y que los arrays
indptr
eindices
están en el formato correcto. Si se obtiene un error de kernel al ejecutar el código, puede deberse a un problema de memoria o una sintaxis incorrecta. Asegúrese de verificar el código en busca de errores de sintaxis o importaciones faltantes.