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.
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»:
- Utiliza el groupby por la o las columnas que se solicitangrupos = superheroes.groupby(‘Publisher’)
- Seleccionar la o las columnas solicitadascolumnas = grupos[[‘Publisher’]]
- 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:
Publisher | Publisher |
---|---|
ABC Studios | 4 |
DC Comics | 215 |
Dark Horse Comics | 18 |
George Lucas | 14 |
Hanna-Barbera | 1 |
HarperCollins | 6 |
IDW Publishing | 4 |
Icon Comics | 4 |
Image Comics | 14 |
J. K. Rowling | 1 |
J. R. R. Tolkien | 1 |
Marvel Comics | 388 |
Microsoft | 1 |
NBC - Heroes | 19 |
Rebellion | 1 |
Shueisha | 4 |
Sony Pictures | 2 |
South Park | 1 |
Star Trek | 6 |
SyFy | 5 |
Team Epic TV | 5 |
Titan Books | 1 |
Universal Studios | 1 |
Wildstorm | 3 |
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
Alignment | Gender | Height |
---|---|---|
- | - | -99.0 |
- | Male | 229.0 |
bad | - | 198.0 |
bad | Female | 218.0 |
bad | Male | 366.0 |
good | - | 193.0 |
good | Female | 366.0 |
good | Male | 975.0 |
neutral | - | -99.0 |
neutral | Female | 183.0 |
neutral | Male | 876.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?