En este artículo, veremos cómo omitir cada índice N de la array NumPy. Hay varias formas de acceder y omitir elementos de una array NumPy:
Método 1: enfoque ingenuo
Se puede mantener un contador para mantener un recuento de los elementos recorridos hasta el momento, y luego, tan pronto como se encuentra la posición N, el elemento se omite y el contador se restablece a 0. Todos los elementos se agregan a una nueva lista excluyendo el Enésimo elemento de índice encontrado durante el recorrido. El tiempo requerido durante esto es equivalente a O(n), donde n es el tamaño de la array numpy. En caso de que los elementos solo deban imprimirse y no almacenarse, podemos omitir la declaración de creación de otra array.
Ejemplo:
Python3
# importing required packages import numpy as np # declaring a numpy array x = np.array([1.2, 3.0, 6.7, 8.7, 8.2, 1.3, 4.5, 6.5, 1.2, 3.0, 6.7, 8.7, 8.2, 1.3, 4.5, 6.5]) # skipping every 4th element n = 4 # declaring new list new_arr = [] # maintaining cntr cntr = 0 # looping over array for i in x: # checking if element is nth pos if(cntr % n != 0): new_arr.append(i) # incrementing counter cntr += 1 print("Array after skipping nth element") print(new_arr)
Producción:
Array después de omitir el elemento n-ésimo
[3.0, 6.7, 8.7, 1.3, 4.5, 6.5, 3.0, 6.7, 8.7, 1.3, 4.5, 6.5]
Método 2: Usar el método del módulo NumPy
La array se puede organizar primero en fragmentos de intervalos uniformemente espaciados, utilizando el método numpy.arange() .
Sintaxis: np.arange(inicio, parada, paso)
Parámetro:
- start: Comienzo del intervalo
- parada: Fin del intervalo
- paso: pasos entre el inicio y el final del intervalo
Luego, se aplica el método np.mod() sobre los intervalos de la lista obtenidos y luego se calcula el módulo de cada elemento con el índice n. Los elementos de la array original cuyo módulo de salida no es 0 se devuelven como la lista final.
Ejemplo
Python3
# importing required packages import numpy as np # declaring a numpy array x = np.array([0, 1, 2, 3, 2, 5, 2, 7, 2, 9]) print("Original Array") print(x) # skipping third element new_arr = x[np.mod(np.arange(x.size), 3) != 0] print("Array after skipping elements : ") print(new_arr)
Producción:
array original
[0 1 2 3 2 5 2 7 2 9]
Array después de omitir elementos:
[1 2 2 5 7 2]
Método 3: Rebanado NumPy
NumPy slicing es básicamente un submuestreo de datos en el que creamos una vista de los datos originales, que incurre en un tiempo constante. Los cambios se realizan en la array original y la array original completa se mantiene en la memoria. También se puede hacer una copia de los datos de forma explícita.
Sintaxis:
arr[inicio:final:st]
Aquí, donde el inicio es el índice de inicio, el final es el índice de parada y st es el paso, donde el paso no es equivalente a 0. Y devuelve una sub-array que contiene los elementos que pertenecen al índice st respectivamente . Se supone que los índices de la array comienzan en 0.
Ejemplo
Python
# importing required packages import numpy as np # declaring a numpy array x = np.array([0, 1, 2, 3, 2, 5, 2, 7, 2, 9]) # calculating length of array length = len(x) # accessing every third element # from the array print("List after n=3rd element access") print(x[0:length:3])
Producción:
Lista después de n = acceso al tercer elemento
[0 3 2 9]
Publicación traducida automáticamente
Artículo escrito por mallikagupta90 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA