Extraer rango específico de columnas en una matriz numpy Python

Tengo una matriz:

e = np.array([[ 0, 1, 2, 3, 5, 6, 7, 8], [ 4, 5, 6, 7, 5, 3, 2, 5], [ 8, 9, 10, 11, 4, 5, 3, 5]]) 

Quiero extraer la matriz por sus columnas en RANGO, si quiero tomar la columna en el rango 1 hasta 5, volverá

 e = np.array([[ 1, 2, 3, 5, ], [ 5, 6, 7, 5, ], [ 9, 10, 11, 4, ]]) 

¿Cómo resolverlo? Gracias

Puedes usar e [:, 1: 5] para recuperar lo que deseas.

 In [1]: import numpy as np In [2]: e = np.array([[ 0, 1, 2, 3, 5, 6, 7, 8], ...: [ 4, 5, 6, 7, 5, 3, 2, 5], ...: [ 8, 9, 10, 11, 4, 5, 3, 5]]) In [3]: e[:, 1:5] Out[3]: array([[ 1, 2, 3, 5], [ 5, 6, 7, 5], [ 9, 10, 11, 4]]) 

https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

Los índices de fila y columna con nudos comienzan a contar en 0.

Las filas se especifican primero y luego la columna con una coma para separar la fila de la columna.

El “:” (dos puntos) se usa para atajar todas las filas o todas las columnas cuando se usa solo.

Cuando el especificador de fila o columna tiene un rango, entonces “:” se empareja con números que especifican el rango de inicio inclusivo y el rango de final exclusivo.

Por ejemplo

 import numpy as np np_array = np.array( [ [ 1, 2, 3, ], [ 4, 5, 6, ], [ 7, 8, 9 ] ] ) first_row = np_array[0,:] first_row output: array([1, 2, 3]) last_column = np_array[:,2] last_column output: array([3, 6, 9]) first_two_vals = np_array[0,0:2] first_two_vals output: array([1, 2])