Как использовать функцию numpy.append

У меня проблема с использованием функции numpy.append. Я написал следующую функцию как часть большей части кода, однако моя ошибка воспроизводится в следующем:

data = [
         [
          '3.5', '3', '0', '0', '15', '6', 
          '441', 'some text', 'some more complicated data'
         ], 
         [
          '4.5', '5', '1', '10', '165', '0', 
          '1', 'some other text', 'some even more complicated data'
         ]
       ]

def GetNumpyArrey(self, index):
    r = np.array([])
    for line in data:
        np.append(r, float(line[index]))

    print r

index < 6. результат:

>> []

что я делаю неправильно?

Спасибо большое!

Ответ 1

В отличие от метода list append, numpy append не добавляется на место. Он возвращает новый массив с добавленными дополнительными элементами. Поэтому вам нужно сделать r = np.append(r, float(line[index])).

Создание массивов numpy таким образом неэффективно. Лучше просто создать свой список в виде списка Python, а затем создать массив numpy в конце.