Voici un exemple:
array([[1, 2, 3, 4], [1, 2, 0, 9]], dtype=object)
Comment supprimer l'élément vide et le renvoyer uniquement:
a = np.array([[1, 2, 3,4], [], [1,2,0,9]]) print(a) # array([list([1, 2, 3, 4]), list([]), list([1, 2, 0, 9])], dtype=object)
4 Réponses :
Vous pouvez faire une boucle sur le tableau: -
a = np.array([[1, 2, 3,4], [], [1,2,0,9]]) a1 = np.array([i for i in a if i]) >>> a1 array([[1, 2, 3, 4], [1, 2, 0, 9]])
Une simple itération de boucle for sur le tableau et la longueur de calcul sera suffisante pour se débarrasser des éléments vides.
a = np.array([[1,2,3,4],[],[5,6,7,8]] output = [] for elem in a: if elem: output.append(elem) output= np.array(output)
Quelle est la forme et le type de la sortie
? Par rapport à l'original a
?
La sortie serait un tableau numpy, de forme: (numpy.ndarray, (2, 4))
vous pouvez utiliser le filtre:
a = np.array([[1, 2, 3,4], [], [1,2,0,9]]) list(filter(None, a)) # [[1, 2, 3, 4], [1, 2, 0, 9]]
Vous pouvez utiliser l'indexation logique:
a[a.astype(bool)] # array([list([1, 2, 3, 4]), list([1, 2, 0, 9])], dtype=object)