python,大ndarray在for循环中追加行

时间:2017-03-09 06:42:45

标签: python numpy multidimensional-array scipy

我正在使用python进行信号处理。

我需要使用一个函数处理大型数据。

我想实现如下基础

filtedSignal =[]
for i in range(0,N):
  filtedSignal = filtedSignal.append(filtedSignal,fft(signal[i],fre,N,B)) # it's returns ndarray

我想将每个信号插入一行。 所以,我使用numpy.vstack()。 但是,在第一个循环中,它无法合并。

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您从列表开始; list append修改就地

filtedSignal =[]
for i in range(0,N):
     filtedSignal.append(fft(signal[i], fre, N, B))

看看这个清单。看起来不错吗?现在尝试将其转换为数组:

np.array(filtedSignal)

列表附加,这是以增量方式构建数组的最佳方法。它比任何类型的数组连接都快得多,也更简单。请记住,list append返回None。远离np.append,这只会让人感到困惑。