在python中对2d numpy数组进行下采样

新街:

我正在自学python,发现了一个需要对特征向量进行下采样的问题。我需要一些帮助来了解如何对数组进行下采样。数组中的每一行通过从0到的数字表示图像255我想知道您如何将下采样应用于阵列?我不想,scikit-learn因为我想了解如何应用下采样。如果您也可以解释下采样的话,那就太好了。

特征向量为400x250

巴特:

如果使用降采样的意思是这样的,则可以简单地对数组进行切片。对于一维示例:

import numpy as np
a = np.arange(1,11,1)
print(a)
print(a[::3])

最后一行等效于:

print(a[0:a.size:3])

切片符号为 start:stop:step

结果:

[1 2 3 4 5 6 7 8 9 10]

[1 4 7 10]

对于2D数组,想法是相同的:

b = np.arange(0,100)
c = b.reshape([10,10])
print(c[::3,::3])

这在两个维度上都为您提供了原始数组中的每三个项目。

或者,如果您只想向下采样一个维度:

d = np.zeros((400,250))
print(d.shape)
e = d[::10,:]
print(e.shape) 

(400,250)

(40,250)

Numpy手册中还有许多其他示例

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章