2010-04-04 6 views
1

Il existe une méthode nonzero() pour la matrice csr_ de la bibliothèque scipy, mais essayer d'utiliser cette fonction pour les matrices csr entraîne une erreur, selon le manuel qui devrait renvoyer un tuple avec une ligne et les réseaux de colonnes. Des idées sur ce problème?nonzeros dans csr_matrix dans les matrices scipy.sparse

Meilleures salutations, Umut

Répondre

1

Umut, pourriez-vous fournir un extrait de code? Les travaux suivants pour moi:

import scipy.sparse as sparse 
x = sparse.csr_matrix([[1,0,1],[0,1,0]]) 
x.nonzero() 

et les rendements

(array([0, 0, 1], dtype=int32), array([0, 2, 1], dtype=int32)) 

Ceci est la dernière version de développement de scipy (vous pouvez vérifier en imprimant scipy.__version__).

+0

+1: marche pour moi 'scipy .__ version__ == '0.7.0'' – jfs

+0

Hmm Merci Stefan, j'ai installé SciPy et NumPy à partir des référentiels Debian et la version est >>> scipy .__ version__ ' 0,6. 0 ' Je suppose que c'est le problème. Je vois aussi le commentaire de J.F.Sebastian que cela fonctionne pour 0.7.0 donc il semble que cette fonctionnalité n'est pas disponible dans ma version –