Removing every nth element in an array

You're close... Pass the entire arange as subslice to delete instead of attempting to delete each element in turn, eg:

import numpy as np

x = np.array([0,10,27,35,44,32,56,35,87,22,47,17])
x = np.delete(x, np.arange(0, x.size, 3))
# [10 27 44 32 35 87 47 17]

I just add another way with reshaping if the length of your array is a multiple of n:

import numpy as np

x = np.array([0,10,27,35,44,32,56,35,87,22,47,17])
x = x.reshape(-1,3)[:,1:].flatten()
# [10 27 44 32 35 87 47 17]

On my computer it runs almost twice faster than the solution with np.delete (between 1.8x and 1.9x to be honnest).

You can also easily perfom fancy operations, like m deletions each n values etc.