Python Pandas – II

Superhéroes

En la segunda parte del tutorial, revisaremos el agrupamiento de datos.

Selección de columnas

Trabajar con todas las columnas de un conjunto de datos resulta un poco incómodo por lo que puedes utilizar el subsetting al enviar una lista con el nombre de las columnas que deseas.

nuevosDatos = superheroes[[‘name’,’Publisher’]]
starwars = nuevosDatos[‘Publisher’] == ‘George Lucas’
print(nuevosDatos[starwars])

En las instrucciones anteriores creamos un nuevo conjunto de datos llamado nuevosDatos con el que haremos operaciones, aplicamos condiciones, etc.

Agrupamiento

En algunas ocasiones, es necesario realizar operaciones de cálculo (count, sum, mean, max, min) para los diversos grupos de datos, por ejemplo:

«Número total de superhéroes por editorial» o «Máxima altura de superhéroes de acuerdo a su alineación y género»

Para responder al «Total de superhéroes por editorial»:

  1. Utiliza el groupby por la o las columnas que se solicitan
    grupos = superheroes.groupby(‘Publisher’)
  2. Seleccionar la o las columnas solicitadas
    columnas = grupos[[‘Publisher’]]
  3. Realizar la operación que se solicita, en este caso el número total hace referencia a contar todos los valores.
    print(columnas.count())

El resultado es el siguiente:

PublisherPublisher
ABC Studios4
DC Comics215
Dark Horse Comics18
George Lucas14
Hanna-Barbera1
HarperCollins6
IDW Publishing4
Icon Comics4
Image Comics14
J. K. Rowling1
J. R. R. Tolkien1
Marvel Comics388
Microsoft1
NBC - Heroes19
Rebellion1
Shueisha4
Sony Pictures2
South Park1
Star Trek6
SyFy5
Team Epic TV5
Titan Books1
Universal Studios1
Wildstorm3

Para el segundo ejemplo: «Máxima altura de superhéroes de acuerdo a su alineación y género»

Las columnas a agrupar son «Alignment» y «Gender». Las columnas a escoger son «Alignment», «Gender» y «Height». Finalmente, la operación es max.

El resultado se interpreta que

  • El superhéroe masculino – malo de mayor altura mide 366.0, y que
  • El superhéroe femenino – malo de mayor altura mide 218.0
AlignmentGenderHeight
---99.0
-Male229.0
bad-198.0
badFemale218.0
badMale366.0
good-193.0
goodFemale366.0
goodMale975.0
neutral--99.0
neutralFemale183.0
neutralMale876.0

Algunos ejercicios para que practicar:

  • El promedio de estatura por género. Asegúrate de eliminar los valores -99 antes de cualquier cálculo.
  • Mínimo peso y estatura de los superhéroes Alien y Mutants por editorial
  • ¿Cuántos superhéroes existen por color de ojos?
  • ¿Cuántos superhéroes existen por color de cabello?
Esta entrada fue publicada en coding, pandas, python y etiquetada , . Guarda el enlace permanente.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *