Lors de la conversion d'une séquence Python de listes de longueur variable en un tableau NumPy, une conversion implicite en un type d'objet tableau se produit.
<code class="python">v = [[1], [1, 2]] np.array(v)</code>
Sortie :
array([[1], [1, 2]], dtype=object)
L'application d'un type de données spécifique, tel que int32, entraînera une exception :
<code class="python">np.array(v, dtype=np.int32)</code>
Exception :
ValueError: setting an array element with a sequence.
Pour obtenir un tableau NumPy dense de type int32 avec des valeurs manquantes remplies d'un espace réservé, vous pouvez utiliser itertools.zip_longest :
<code class="python">import itertools np.array(list(itertools.zip_longest(*v, fillvalue=0))).T</code>
Sortie :
array([[1, 0], [1, 2]])
Notez que dans Python 2, itertools.izip_longest doit être utilisé à la place.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!