Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Agrupación por Varias Columnas | Agregación de Datos
Técnicas Avanzadas en Pandas

bookAgrupación por Varias Columnas

Agreguemos información sobre el método .groupby(). Es posible agrupar por varias columnas, pero el orden es fundamental en este caso. En el capítulo anterior, se agruparon los datos por el número de vuelo y se contó la cantidad de retrasos. Esta tarea puede complicarse agrupando no solo por la columna 'Flight', sino también por la columna 'Airline'. Revise la información sobre el conjunto de datos y observe este ejemplo sencillo (la salida contiene solo las primeras 10 filas):

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Explicación:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - columnas con las que se trabajará, incluyendo las columnas por las que se agrupará;
  • .groupby(['Flight', 'Airline']) - aquí, 'Flight' y 'Airline' son argumentos de la función .groupby().

Tenga en cuenta que, si se desea agrupar por varias columnas, deben colocarse en una lista; el orden es fundamental. Así, en este caso, si las filas del conjunto de datos tienen el mismo valor en la columna 'Flight', pertenecerán a un mismo grupo. Luego, dentro de esos grupos, la función encuentra otros grupos para las filas con el mismo valor en la columna 'Airline'. Después, debido al método .count(), que cuenta las filas, la función calculará la cantidad de filas en la columna 'Delay' que tienen el mismo valor en la columna 'Airline' para cada grupo de 'Flight'.

Tarea

Swipe to start coding

La tarea consiste en agrupar los datos según el aeropuerto de origen del vuelo y luego por el día de la semana. Calcule el tiempo promedio para cada grupo. Siga el siguiente algoritmo para gestionar la tarea:

  1. Agrupar los datos:
    • Extraer las columnas 'AirportFrom', 'DayOfWeek' y 'Time' de data (en este orden);
    • Aplicar el método .groupby() a las columnas extraídas;
    • Dentro del método .groupby(), incluir las columnas 'AirportFrom' y 'DayOfWeek'; el orden es fundamental;
    • Calcular el valor medio de la columna 'Time'.
  2. Mostrar las primeras 10 filas de data_flights.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 2
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

Suggested prompts:

Can you explain why the order of columns in `.groupby()` matters?

What does the `.count()` method do in this context?

Can you show how the output would change if we switched the order of the columns in `.groupby()`?

close

Awesome!

Completion rate improved to 3.03

bookAgrupación por Varias Columnas

Desliza para mostrar el menú

Agreguemos información sobre el método .groupby(). Es posible agrupar por varias columnas, pero el orden es fundamental en este caso. En el capítulo anterior, se agruparon los datos por el número de vuelo y se contó la cantidad de retrasos. Esta tarea puede complicarse agrupando no solo por la columna 'Flight', sino también por la columna 'Airline'. Revise la información sobre el conjunto de datos y observe este ejemplo sencillo (la salida contiene solo las primeras 10 filas):

1234
import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/plane', index_col = 0) data_flights = data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count() print(data_flights.head(10))
copy

Explicación:

data[['Flight', 'Delay', 'Airline']].groupby(['Flight', 'Airline']).count()
  • data[['Flight', 'Delay', 'Airline']] - columnas con las que se trabajará, incluyendo las columnas por las que se agrupará;
  • .groupby(['Flight', 'Airline']) - aquí, 'Flight' y 'Airline' son argumentos de la función .groupby().

Tenga en cuenta que, si se desea agrupar por varias columnas, deben colocarse en una lista; el orden es fundamental. Así, en este caso, si las filas del conjunto de datos tienen el mismo valor en la columna 'Flight', pertenecerán a un mismo grupo. Luego, dentro de esos grupos, la función encuentra otros grupos para las filas con el mismo valor en la columna 'Airline'. Después, debido al método .count(), que cuenta las filas, la función calculará la cantidad de filas en la columna 'Delay' que tienen el mismo valor en la columna 'Airline' para cada grupo de 'Flight'.

Tarea

Swipe to start coding

La tarea consiste en agrupar los datos según el aeropuerto de origen del vuelo y luego por el día de la semana. Calcule el tiempo promedio para cada grupo. Siga el siguiente algoritmo para gestionar la tarea:

  1. Agrupar los datos:
    • Extraer las columnas 'AirportFrom', 'DayOfWeek' y 'Time' de data (en este orden);
    • Aplicar el método .groupby() a las columnas extraídas;
    • Dentro del método .groupby(), incluir las columnas 'AirportFrom' y 'DayOfWeek'; el orden es fundamental;
    • Calcular el valor medio de la columna 'Time'.
  2. Mostrar las primeras 10 filas de data_flights.

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 4. Capítulo 2
single

single

some-alt