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 !
解决方案
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.