/ / en utilisant list à la place de numpy array

en utilisant list au lieu de numpy array - python, numpy, python-3.x, scipy

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 № 1

Presque 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"