mm_*_*mm_ 17 python 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
Run Code Online (Sandbox Code Playgroud)
index <6.结果是:
>> []
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
非常感谢 !
Bre*_*arn 33
与list append方法不同,numpy append不会就地附加.它返回一个附加了额外元素的新数组.所以你需要这样做r = np.append(r, float(line[index])).
但是,以这种方式构建numpy数组效率很低.最好将列表构建为Python列表,然后在最后创建一个numpy数组.