像这样重新采样数组很容易
a = numpy.array([1,2,3,4,5,6,7,8,9,10])
使用整数重采样因子。例如,使用2倍因子:
b = a[::2] # [1 3 5 7 9]
但是使用非整数重采样因子,情况就不那么简单了:
c = a[::1.5] # [1 2 3 4 5 6 7 8 9 10] => not what is needed...
它应该是(使用线性插值):
[1 2.5 4 5.5 7 8.5 10]
或者(通过在数组中选择最近的邻居)
[1 3 4 6 7 9 10]
如何使用非整数重采样因子对numpy数组进行重采样?
应用示例:音频信号重采样/变速处理
scipy.interpolate.interp1d
或者其他scipy
插值函数之一。 - reptilicus::2
索引方式的一种不寻常的方式。numpy
数组(以及Python列表)并非主要被视为样本(尽管它们的值可能代表其他东西的样本)。 - hpauljnumpy
数组来存储音频数据。在这个数组上进行操作被称为音频中的“重采样”,或者“改变音高”,这取决于我们如何使用它。 - Basj