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)