Чтобы получить различные грани:
faces = np.array([
x[ 0, :, :],
x[-1, :, :],
x[ :, 0, :],
x[ :, -1, :],
x[ :, :, 0],
x[ :, :, -1],
])
Теперь сверните последнюю ось измерения:
# No information on orientation provided by OP so always pick axis=-1
row_mins = np.min(faces, axis=-1)
И сохраните только те строки, которые удовлетворяют условию:
valid_rows = faces[row_mins > n]
print(valid_rows)