comment créer un tableau en tableau numpy?
def test(X, N):
[n,T] = X.shape
print "n : ", n
print "T : ", T
if __name__=="__main__":
X = [[[-9.035250067710876], [7.453250169754028], [33.34074878692627]], [[-6.63700008392334], [5.132999956607819], [31.66075038909912]], [[-5.1272499561309814], [8.251499891281128], [30.925999641418457]]]
N = 200
test(X, N)
Je reçois l'erreur comme
AttributeError: 'list' object has no attribute 'shape'
Donc, je pense que je dois convertir mon tableau X en tableau numpy?
Utilisez numpy.array
pour utiliser l'attribut shape
.
>>> import numpy as np
>>> X = np.array([
... [[-9.035250067710876], [7.453250169754028], [33.34074878692627]],
... [[-6.63700008392334], [5.132999956607819], [31.66075038909912]],
... [[-5.1272499561309814], [8.251499891281128], [30.925999641418457]]
... ])
>>> X.shape
(3L, 3L, 1L)
NOTEX.shape
renvoie un tuple à 3 éléments pour le tableau donné; [n, T] = X.shape
soulève ValueError
.
Sinon, vous pouvez utiliser np.shape(...)
Par exemple:
import numpy as np
a=[1,2,3]
et np.shape(a)
donnera une sortie de (3,)
import numpy
X = numpy.array(the_big_nested_list_you_had)
Il ne va toujours pas faire ce que vous voulez; vous avez plus de bugs, comme essayer de décompresser une forme tridimensionnelle en deux variables cibles dans test
.
l'objet de liste en python n'a pas d'attribut 'shape' car 'shape' implique que toutes les colonnes (ou lignes) ont la même longueur sur certaines dimensions.
Disons que la variable de liste a a les propriétés suivantes:
a = [[2, 3, 4]
[0, 1]
[87, 8, 1]]
il est impossible de définir «forme» pour la variable «a» ... C'est pourquoi la «forme» peut être déterminée uniquement avec des «tableaux», par ex.
b = numpy.array([[2, 3, 4]
[0, 1, 22]
[87, 8, 1]])
J'espère que cette explication clarifie bien cette question.
si le type est list, utilisez len (list) et len (list [0]) pour obtenir la ligne et la colonne.
l = [[1,2,3,4], [0,1,3,4]]
len (l) sera 2 len (l [0]) sera 4
Si vous avez une liste, vous pouvez imprimer sa forme comme si elle était convertie en tableau
import numpy as np
print(np.asarray(X).shape)
tout d'abord, vous devez importer la bibliothèque numpy (référez-vous au code permettant de créer un tableau numpy) shape
ne donne le résultat que si la variable est un attribut de la bibliothèque numpy. En d'autres termes, il doit s'agir d'un np.array ou de toute autre structure de données de numpy .
`>>> import numpy
>>> a=numpy.array([[1,1],[1,1]])
>>> a.shape
(2, 2)`