我有几个浮动列表,如下所示:
a = [1.1, 1.2, 1.3, 1.4, 1.5]
b = [2.1, 2.2, 2.3]
c = [3.1, 3.2]
d = [4.1, 4.2, 4.3, 4.4, 4.5, 4.6]
我想通过分箱将列表的大小调整为恒定大小,例如在这种情况下,常量大小为 3。预期的输出应该是:
a = [(1.1+1.2+1.3)/3, (1.2+1.3+1.4)/3, (1.3+1.4+1.5)/3]
b = [2.1, 2.2, 2.3]
c = [(3.1+3.2)/2, 3.1+3.2)/2, 3.1+3.2)/2]
d = [(4.1+4.2)/2, (4.3+4.4)/2, (4.5+4.6)/2]
在这里,每个初始列表的大小可以是任何大小,小于或大于所需的常量大小(此处为 3)。
我尝试使用 itertools,其中 vals 是一个列表,而 bin 是恒定的 bin 大小。不知何故,它不适用于小于所需常量大小的列表。
window_avg = [ np.mean(vals[i:i+bin]) for i in range(0, len(vals), 1)
if i+bin <= len(vals) ]