相关疑难解决方法(0)

在数组中选择N个均匀间隔的元素,包括first和last

我有一个任意长度的数组,我想选择它的N个元素,均匀地间隔开(大约,N可能是偶数,数组长度可能是素数等),包括第一个arr[0]元素和最后一个arr[len-1]元素.

例:

>>> arr = np.arange(17)
>>> arr
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16])
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个像下面这样的函数numElems来在数组中均匀地间隔开,它必须包含第一个和最后一个元素:

GetSpacedElements(numElems = 4)
>>> returns 0, 5, 11, 16
Run Code Online (Sandbox Code Playgroud)

这有意义吗?

我试过arr[0:len:numElems](即使用数组start:stop:skip符号)和一些细微的变化,但我没有得到我在这里寻找的东西:

>>> arr[0:len:numElems]
array([ 0,  4,  8, 12, 16])
Run Code Online (Sandbox Code Playgroud)

要么

>>> arr[0:len:numElems+1]
array([ 0,  5, 10, 15])
Run Code Online (Sandbox Code Playgroud)

我并不完全关心中间元素是什么,只要它们间隔均匀,偏离指数1即可.但是获得正确数量的元素(包括索引零和最后一个索引)是至关重要的.

希望有人能帮我找到快速的单行程,谢谢!

python arrays numpy

10
推荐指数
1
解决办法
3191
查看次数

标签 统计

arrays ×1

numpy ×1

python ×1