Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Segmentación | Indexación y Segmentación
Numpy Definitivo

bookSegmentación

Segmentación en Python se refiere a la obtención de elementos desde un índice hasta otro dentro de una secuencia. Sin embargo, en este capítulo, nos centraremos en la segmentación en arreglos de NumPy.

Segmentación en arreglos 1D

La sintaxis general para la segmentación en arreglos 1D es la siguiente: array[start:end:step].

  • start es el índice en el que comienza la segmentación;
  • end es el índice en el que termina la segmentación (el índice en sí no se incluye);
  • step especifica los incrementos entre los índices (el valor predeterminado es 1).

Aquí hay un ejemplo para aclarar todo (los cuadros de color púrpura representan los elementos obtenidos mediante la segmentación):

Note
Nota

Como no especificamos explícitamente step, su valor predeterminado es 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Omisión de inicio, fin y paso

Como se puede observar, a menudo se puede omitir start, end, step o incluso todos ellos al mismo tiempo. Por ejemplo, step puede omitirse cuando se desea que sea igual a 1. start y end pueden omitirse en los siguientes casos:

  1. Omisión de start:
    • Corte desde el primer elemento (step es positivo);
    • Corte desde el último elemento (step es negativo).
  2. Omisión de end:
    • Corte hasta el último elemento inclusive (step es positivo);
    • Corte hasta el primer elemento inclusive (step es negativo).

Veamos algunos ejemplos adicionales (la flecha negra indica que los elementos se toman en orden inverso):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

La imagen a continuación muestra la estructura del arreglo weekly_sales utilizado en la tarea:

Tarea

Swipe to start coding

Está analizando los datos de ventas diarias de una pequeña tienda minorista. Las ventas de la última semana están almacenadas en el arreglo weekly_sales, donde cada elemento representa las ventas de un día específico.

  1. Cree un segmento de weekly_sales que incluya los datos de ventas de cada segundo día, comenzando desde el segundo día (martes).
  2. Utilice un índice positivo para el start y deje el end sin especificar.
  3. Guarde el resultado en alternate_day_sales.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

Awesome!

Completion rate improved to 3.7

bookSegmentación

Desliza para mostrar el menú

Segmentación en Python se refiere a la obtención de elementos desde un índice hasta otro dentro de una secuencia. Sin embargo, en este capítulo, nos centraremos en la segmentación en arreglos de NumPy.

Segmentación en arreglos 1D

La sintaxis general para la segmentación en arreglos 1D es la siguiente: array[start:end:step].

  • start es el índice en el que comienza la segmentación;
  • end es el índice en el que termina la segmentación (el índice en sí no se incluye);
  • step especifica los incrementos entre los índices (el valor predeterminado es 1).

Aquí hay un ejemplo para aclarar todo (los cuadros de color púrpura representan los elementos obtenidos mediante la segmentación):

Note
Nota

Como no especificamos explícitamente step, su valor predeterminado es 1.

123456789
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the element at index 2 to the element at index 4 exclusive print(array[2:4]) # Slicing from the first element to the element at index 5 exclusive print(array[:5]) # Slicing from the element at index 5 to the last element inclusive print(array[5:])
copy

Omisión de inicio, fin y paso

Como se puede observar, a menudo se puede omitir start, end, step o incluso todos ellos al mismo tiempo. Por ejemplo, step puede omitirse cuando se desea que sea igual a 1. start y end pueden omitirse en los siguientes casos:

  1. Omisión de start:
    • Corte desde el primer elemento (step es positivo);
    • Corte desde el último elemento (step es negativo).
  2. Omisión de end:
    • Corte hasta el último elemento inclusive (step es positivo);
    • Corte hasta el primer elemento inclusive (step es negativo).

Veamos algunos ejemplos adicionales (la flecha negra indica que los elementos se toman en orden inverso):

1234567891011
import numpy as np array = np.array([5, 10, 2, 8, 9, 1, 0, 4]) print(f'Initial array: {array}') # Slicing from the first element to the last element inclusive with step=2 print(array[::2]) # Slicing from the element at index 4 to the element at index 2 exclusive (step=-1) print(array[4:2:-1]) # Slicing from the last element to the first element inclusive (reversed array) print(array[::-1]) # Slicing from the first element to the last inclusive (the same as our array) print(array[:])
copy

La imagen a continuación muestra la estructura del arreglo weekly_sales utilizado en la tarea:

Tarea

Swipe to start coding

Está analizando los datos de ventas diarias de una pequeña tienda minorista. Las ventas de la última semana están almacenadas en el arreglo weekly_sales, donde cada elemento representa las ventas de un día específico.

  1. Cree un segmento de weekly_sales que incluya los datos de ventas de cada segundo día, comenzando desde el segundo día (martes).
  2. Utilice un índice positivo para el start y deje el end sin especificar.
  3. Guarde el resultado en alternate_day_sales.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 3
single

single

some-alt