从numpy数组等间距定长采样
问题背景
如果给定一个大长度的数组,要从中固定长度的抽样,例如,如何从长度为780的数组中,均匀的抽取100条数据出来?本文通过一个简单的案例给出方案。
代码实现
这里我们采取的方案,是使用linspace生成等间隔的定长索引数组,然后直接用该数组对原始的数据进行索引即可:
In [1]: import numpy as np
In [2]: a = np.arange(780)
In [3]: indices = np.linspace(0, a.shape[0]-1, 100, dtype=int)
In [4]: b = a[indices]
In [5]: b
Out[5]:
array([ 0, 7, 15, 23, 31, 39, 47, 55, 62, 70, 78, 86, 94,
102, 110, 118, 125, 133, 141, 149, 157, 165, 173, 180, 188, 196,
204, 212, 220, 228, 236, 243, 251, 259, 267, 275, 283, 291, 299,
306, 314, 322, 330, 338, 346, 354, 361, 369, 377, 385, 393, 401,
409, 417, 424, 432, 440, 448, 456, 464, 472, 479, 487, 495, 503,
511, 519, 527, 535, 542, 550, 558, 566, 574, 582, 590, 598, 605,
613, 621, 629, 637, 645, 653, 660, 668, 676, 684, 692, 700, 708,
716, 723, 731, 739, 747, 755, 763, 771, 779])
这样就得到了一个等间距固定长度的抽样数据结果。
总结概要
本文通过具体代码实现,介绍了一种在Python中,使用numpy对原始数据进行固定长度的等间距抽样方法。
版权声明
本文首发链接为:https://www.cnblogs.com/dechinphy/p/numpy-sampling.html
作者ID:DechinPhy
更多原著文章:https://www.cnblogs.com/dechinphy/
请博主喝咖啡:https://www.cnblogs.com/dechinphy/gallery/image/379634.html

本文通过具体代码实现,介绍了一种在Python中,使用numpy对原始数据进行固定长度的等间距抽样方法。
浙公网安备 33010602011771号