J'ai des listes (et liste de listes) en standardstructure de données (la plupart de mes fonctions renvoient liste / liste de listes). Mais maintenant, je dois utiliser certaines fonctions de Numpy. Dois-je convertir toutes les listes en tableau numpy avant d'utiliser une fonction quelconque de numpy / scipy. Par exemple
>>>x= [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>>y= [ 1, 10, 20]
>>>dot(x,y)
#array([ 81, 174, 267])
>>>X_np=array(x)
>>>y_np=array(y)
>>>dot(x_np,y_np)
#array([ 81, 174, 267])
Comme dans ce cas, dot (x, y) et dot (x_np, y_np) donnaient le même résultat, donc utiliser list au lieu de numy array ne fait pas la différence ... devoir faire my_np_array= array(my_list)
avant d’appeler des fonctions numpy / scipy /?
Réponses:
3 pour la réponse № 1Presque toutes les fonctions numpy / scipy convertissent l’entrée en tableau avant de l’opérer. Mais pourquoi me faire confiance? Essayez juste ceux dont vous avez besoin et voyez si cela fonctionne.
L'exception concernera toutes les fonctions qui modifient un tableau à la place, comme np.put
par exemple.
>>> np.put([1,2,3],[0,1],[2,1])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/numpy/core/fromnumeric.py", line 394, in put
return a.put(ind, v, mode)
AttributeError: "list" object has no attribute "put"