当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《在python中对一个2dnumpy数组进行下采样》经验,为你挑选了1个好方法。

我是自学python并且发现了一个需要对特征向量进行下采样的问题.我需要一些帮助来理解如何对数组进行下采样.在数组中,每一行通过数字0来表示图像255.我很想知道你如何对阵列进行下采样?我不想,scikit-learn因为我想了解如何应用下采样.如果你能解释下采样,那将是非常棒的谢谢.

特征向量为400x250



1> Bart..:

如果使用下采样你的意思是这样的,你可以简单地切片阵列.对于一维示例:

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手册中有很多其他例子

推荐阅读
手机用户2402852387
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有