如何在python中从ndarray中选择n个项目并跳过m?

gig*_*o91 5 python numpy slice multidimensional-array

假设我有一个包含 100 个元素的 ndarray,我想选择前 4 个元素,跳过 6 并像这样继续(换句话说,每 10 个元素选择前 4 个元素)。

我尝试使用 step 进行 python 切片,但我认为它在我的情况下不起作用。我怎样才能做到这一点?我正在使用 Pandas 和 numpy,他们有帮助吗?我四处寻找,但没有发现像这种切片那样的东西。谢谢!

Div*_*kar 5

你可以NumPy slicing用来解决你的情况。

对于1D数组情况 -

A.reshape(-1,10)[:,:4].reshape(-1)
Run Code Online (Sandbox Code Playgroud)

这可以扩展到2D沿第一轴进行选择的阵列情况 -

A.reshape(-1,10,A.shape[1])[:,:4].reshape(-1,A.shape[1])
Run Code Online (Sandbox Code Playgroud)