我使用Pyaudio通过将每个二维列表附加在一起来记录多声道信号(例如2个)。现在,我想找到一种将信号展平为单个二维数组的有效方法:
例如,输入为:
i = [[[ 1, 2],
[ 1, 2],
[ 1, 2]],
[[ 3, 4],
[ 3, 4],
[ 3, 4]]
]
i = np.array(i)
此i
的形状为(2,3,2)
,我想将其展平为(2x3,2)
array([[1, 2],
[1, 2],
[1, 2],
[3, 4],
[3, 4],
[3, 4]])
有什么建议吗?非常感谢
答案 0 :(得分:1)
使用np.concatenate
:
print(np.concatenate(i, 0))
输出:
[[1 2]
[1 2]
[1 2]
[3 4]
[3 4]
[3 4]]
答案 1 :(得分:1)
它应该可以工作:
i.reshape(2*3, 2)
答案 2 :(得分:0)
使用此-
[item for sublist in i for item in sublist]
[[1, 2], [1, 2], [1, 2], [3, 4], [3, 4], [3, 4]]