【发布时间】:2020-08-11 00:21:18
【问题描述】:
我有一个二维数组,其中每个元素都是傅立叶变换。我想“对数”分割变换。例如,让我们取其中一个数组并将其命名为a:
a = np.arange(0, 512)
# I want to split a into 'bins' defined by b, below:
b = np.array([0] + [10 * 2**i for i in range(6)]) # [0, 10, 20, 40, 80, 160, 320, 640]
我想做的是类似于使用np.split,除了我想根据数组b 将值拆分为“bins”,这样a 在[0, 10) 之间的所有值都是在一个 bin 中,[10, 20) 之间的所有值在另一个 bin 中,等等。
我可以在某种复杂的 for 循环中做到这一点:
split_arr = []
for i in range(1, len(b)):
fbin = []
for amp in a:
if (amp >= b[i-1]) and (amp < b[i]):
fbin.append(amp)
split_arr.append(fbin)
我有很多数组要拆分,这也很丑(只是我的看法)。有没有更好的办法?
【问题讨论】: