按顺序堆栈数组

时间:2012-12-05 13:08:18

标签: python numpy

我从文件中读取了行data,我希望将它们存储在array中。

编辑:无法使用loadtxt()读取数据。

所以我这样做:

data = array([])
for frame in frames:
    # ....
    # get some lines and make some calculations e.g. final result is
    # line = array([1, 2, 3, 4])
    # ....
    if data.size == 0:
        data = line
    else:
        data = vstack( (data, line) )

这很好用,但if - clausel让解决方案看起来很难看。我想知道是否有可能获得它。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

如果line中的元素数量是固定的,您只是想避免使用"丑陋的"解决方案,您可以这样做:

data = []
for f in frames:
    # do your calculation
    # line = [1, 2, 3, 4]
    data += line
data = np.array(data).reshape((-1,4))