Itération sur Numpy des lignes de la matrice d'appliquer une fonction à chaque?
Je veux être en mesure d'effectuer une itération sur la matrice d'appliquer une fonction à chaque ligne. Comment puis-je faire pour Numpy matrice ?
- Il est probable que vous obtiendrez plus de réponses utiles si vous expliquez ce que vous essayez d'atteindre / de quel type de fonction à appliquer. Aussi, vous voudrez peut-être avoir un regard sur: stackoverflow.com/questions/8079061/...
- merci de poster votre code. Si vous n'avez pas essayé de le faire encore, aller essayer quelques trucs et post quels sont les problèmes que vous avez
Vous devez vous connecter pour publier un commentaire.
Utilisation
numpy.apply_along_axis()
. En supposant que votre matrice est en 2D, vous pouvez l'utiliser comme:numpy
de fonctions, vous pouvez (en général) il suffit de spécifier l'axe, comme:mymatrix.sum(axis=1)
.np.apply_along_axis()
peut être très utileapply_along_axis
est un Python pour la boucle dans le déguisement. Il peut donner l'illusion de numpy la performance, mais ne pas le livrer. Dans la question, vous avez le lien, à l'aide deapply_along_axis
n'a pas d'avantages par rapport à l'aide d'une boucle for. En essayant de vectoriser quelle que soit la fonction que vous souhaitez appliquer à chaque ligne est le numpythonic façon de faire les choses.apply_along_axis
utilisationAlors vous devrait certainement fournir de plus amples informations, si vous essayez d'aller à travers chaque ligne, vous pouvez simplement effectuer une itération avec une boucle for:
Voici mon prendre si vous voulez essayer de l'utiliser multiprocesses de traiter chaque ligne d'un tableau numpy,
piscine.carte de la prendre dans une fonction et un objet iterable.
J'ai utilisé de la "carte" de la fonction pour créer un itérateur sur chacune des lignes de la matrice.
Peut-être qu'il y a de mieux pour créer l'objet iterable bien.