Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use the function numpy.append

Tags:

I have a problem using the function numpy.append. I wrote the following function as part of a larger piece of code, however, my error is reproduced in the folowing:

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. the result is:

>> [] 

what am I doing wrong?

Thanks a lot !

like image 438
mm_ Avatar asked Nov 22 '12 04:11

mm_


1 Answers

Unlike the list append method, numpy's append does not append in-place. It returns a new array with the extra elements appended. So you'd need to do r = np.append(r, float(line[index])).

Building up numpy arrays in this way is inefficient, though. It's better to just build your list as a Python list and then make a numpy array at the end.

like image 73
BrenBarn Avatar answered Oct 08 '22 13:10

BrenBarn