2015-05-12 5 views
2

У меня есть массив массивов, и я пытаюсь найти самое низкое ненулевое значение среди них всех.'numpy.ndarray' объект не имеет атрибута 'remove'

minima = [] 
for array in K: #where K is my array of arrays (all floats) 
    if 0.0 in array: 
     array.remove(0.0) 
    minima.append(min(array)) 

print min(minima) 

Это дает AttributeError: 'numpy.ndarray' объект не имеет атрибут 'удалить'

я подумал array.remove() был способ удаления элемента. Что я делаю не так?

ответ

1

Я думаю, что я понял это. Метод .remove() - это метод списка, а не метод ndarray. Итак, используя array.tolist(), я могу применить метод .remove() и получить требуемый результат.

0

Похоже, вы want .delete:

minima = [] 
for array in K: #where K is my array of arrays (all floats) 
    minimum = min(array) 
    while minimum in array: 
     array.delete(minimum) 
    minima.append(min(array)) 

print min(minima) 
+1

Это дает ту же ошибку: объект «numpy.ndarray» не имеет атрибута «delete» – berkelem

+0

Какая версия numpy? Документы перечисляют метод удаления (по мере привязки). – hd1

+0

У меня есть версия 1.9.2, которая, по моему мнению, самая последняя. – berkelem

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