如何使用函数numpy.append

时间:2012-11-22 04:55:26

标签: 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

指数< 6。 结果是:

>> []

我做错了什么?

非常感谢!

1 个答案:

答案 0 :(得分:31)

与列表append方法不同,numpy的append不会就地追加。它返回一个附加了额外元素的新数组。所以你需要做r = np.append(r, float(line[index]))

但是以这种方式构建numpy数组效率很低。最好将列表构建为Python列表,然后在最后创建一个numpy数组。