Итак, я пытался понять функцию numpy.delete
, и я придумал что-то странное. Вот программа:Ошибка при использовании нескольких numpy.delete в массиве?
>>>import numpy as np
>>>a = np.arange(10)
>>> a
array([0, 1, 2, 3, 4, 6, 7, 9])
>>> a[5]
5
>>> a=np.delete(a,[a[5]])
>>> a
array([0, 1, 2, 3, 4, 6, 7, 8, 9]) #so far so good
>>> a[6]
7
>>> a=np.delete(a,[a[6]])
>>> a
array([0, 1, 2, 3, 4, 6, 7, 9])
Итак ... Когда я ставлю a=np.delete(a,[a[6]])
, следует ожидать, чтобы удалить номер 7
из массива, не так ли? Почему это число 8
(термин a[7]
) из массива) удалено вместо ожидаемого a[6]
?
Я также заметил, что когда я пытаюсь удалить a[0]
(= 0) из массива после первого удаления, я просто не могу. Он всегда удаляет один термин вперед. Любая идея, как ее удалить?
спасибо. Я новичок в этой функции и думал, что параметр [i] был параметром. Но теперь это имеет смысл. Благодаря! –
'np.delete' - это не то же самое, что и список' remove'. – hpaulj