Как исправить эту ошибку: у объекта «numpy.ndarray» нет атрибута «добавить» в приведенном ниже коде - PullRequest
0 голосов
/ 20 апреля 2019

Возвращает эту ошибку: Объект 'numpy.ndarray' не имеет атрибута 'append'

class1 = np.array([]) #creates 2 empty arrays
class2 = np.array([])

#yhat_tr is a vector(1 column, 100 rows) = numpy.ndarray
for i in yhat_tr: 
  if i < 0:
    class1.append([i]) #insert the iten in the array class1 or class2
  else:
    class2.append([i])

Я хочу вставить новые массивы itens в массивы class1 или class2, как только itens будут вычислены внутри цикла. После этого я попытаюсь напечатать результаты в виде точечной графики в 2 цвета, где я могу визуально идентифицировать элементы class1 и class2.

Ответы [ 3 ]

1 голос
/ 20 апреля 2019

Как уже упоминалось @Alex, у numpy-массивов нет метода добавления.Вы можете использовать его предложение, чтобы использовать метод numpy append, или вы можете определить переменные класса в виде списков и использовать append и преобразовать их в массив после цикла, как показано в коде ниже.

class1 = []
class2 = []

#yhat_tr is a vector(1 column, 100 rows) = numpy.ndarray
for i in yhat_tr: 
  if i < 0:
    class1.append([i]) #insert the iten in the array class1 or class2
  else:
    class2.append([i])

class1 = np.array(class1)
class2 = np.array(class2)
1 голос
/ 20 апреля 2019

Вы можете добавить элемент массива NumPy с помощью метода append () модуля NumPy.

Синтаксис append выглядит следующим образом:

numpy.append(array, value, axis)

Значения будут добавленыв конце массива и новый ndarray будет возвращен с новыми и старыми значениями, как показано выше.

Ось является необязательным целым числом, вдоль которого определяется, как будет отображаться массив.Если ось не указана, структура массива будет сглажена

0 голосов
/ 20 апреля 2019

Беглый взгляд на документацию показывает, что np.ndarray объекты не имеют функции append, это сама функция np:

class1 = np.append(class1, [i])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...