2014-10-26 3 views
0

В массиве 285 x 507, я пытаюсь найти самый низкий шов и удалить его с помощью pop. У меня проблема ниже при использовании pop.Ошибка при удалении элемента из 2D-массива

Код:

for i in range(0, len(img)): 
     for j in range(0, len(img[0]): 
      a[i].pop(j) 

Может кто-нибудь, пожалуйста, помогите мне, почему эта ошибка приходит «„numpy.ndarray“объект не имеет атрибута„поп“» и как исправить

Примечание: Это работает perectly отлично в массиве 5x5. когда дело доходит до огромных размеров, я, кажется, сталкиваемся с проблемами

+1

это не работает для 5 на 5 массив либо, что такое img, а что такое? –

+1

Не удаляйте материал из списка/массива, так как вы повторяете его. – inspectorG4dget

+0

Это не может работать для массива 5x5, потому что массивы 'numpy' не имеют метода' pop' - так же, как ошибка говорит. Он может работать для (Python) списка (Python) списков, но это полностью отличается от массива. – senderle

ответ

0

От взглядов вещей Numpy использования не суммируются и не pop(), но вместо этого вы можете использовать delete()

http://docs.scipy.org/doc/numpy/reference/generated/numpy.delete.html

+0

Спасибо за ответ. Мне интересно, можно ли удалить один элемент с помощью numpy.delete? – Gaara

+0

'np.delete' не происходит на месте, поэтому вы не удаляете из исходного массива, поскольку массивы неизменяемы. –

+0

Спасибо. Я не уверен, что мой неизменный массив. Думаю, это больше 2D-список. Я зациклился на том, как удалить элемент в 2D-списке. – Gaara

Смежные вопросы