Pandas
Instalación
En este corto tutorial acerca de Pandas, la librería de Python. Primero, será necesario instalar el módulo mediante pip.
Pandas sirve para procesar conjuntos de datos con un formato específico. Donde el tipo de datos puede variar en cada una de las columnas. Pandas es utiliza como una herramienta para analizar y procesar datos a gran escala.
Conjunto de datos o Dataset
Siempre que trabajemos con Pandas será necesario utilizar un dataset. En este caso utilizaremos el conjunto de datos de superhéroes. Este dataset contiene la información general (nombre, género, raza, color de ojos, estatura, editorial, etc ) de cada superhéroe.
Instrucciones básicas
Ahora, escribiremos nuestro algunas instrucciones para procesar el archivo. Primero, procedemos a cargar el módulo de Pandas
Comenzamos cargando el conjunto de datos en memoria, mediante la instrucción read_csv
Existen otros encoding como «latin-1», «ISO-8859-1», entre otros.
Por defecto, la primera fila del conjunto de datos corresponde/contiene a los nombres de las columnas.
Para mostrar los datos, simplemente utiliza un print de la variable que contiene el conjunto de datos.
Además, podemos tener una vista previa de los datos con las instrucciones head o tail.
Con head (tail) tendrá una vista previa de lo que te puedes encontrar en el conjunto de datos en las cinco primeras (últimas) filas.
Tanto head como tail permite mostrar más de las 5 filas predeterminadas, para esto podrás enviar un número como parámetro.
Con la línea anterior podrás ver los últimos 15 superhéroes en el conjunto de datos.
Para conocer la cantidad de filas y contiene mi conjunto de datos, utilizaremos la instrucción shape que devuelve una tupla con la cantidad de filas y columnas.
print( ‘Cantidad de superhérores: ‘ , nfilas)
¿Cuántas filas y cuántas columnas tiene nuestro conjunto de datos?
Si necesitamos conocer el nombre de las columnas utilizaremos la instrucción:
print( ‘Nombres de las columnas:’ , nombreColumnas )
Para referirnos a una columna específica utilizamos su nombre, por ejemplo:
Y si necesitáramos saber una lista con valores únicos de Publisher, simplemente hacemos lo siguiente:
Como te puedes dar cuenta, existen editoriales como ‘Marvel Comics’, ‘DC Comics’ y nan. ¿Qué es nan? Pandas utiliza este tipo de dato para representar los vacíos en el conjunto de datos.
Condicionales
A veces, es necesario contar el número de elementos que cumplen con una determinada condición, por ejemplo: ¿Cuántos superhéroes son de DC Comics?
Para resolver esta pregunta, se recurre a:
- Filtra la columna a contar, en este caso Publisher
columna = superheroes[‘Publisher’]
- Crear la condicióncondicion = columna == ‘DC Comics’
- Aplicar la condición sobre la columna y contarprint( columna[condicion].count() )
- Deben resultar en 215 superhéroes.
Más preguntas para practicar:
- ¿Cuántos superhéroes buenos existen? Utiliza la columna Alignment y el valor para es good.
- ¿Cuántos superhéroes tienen piel blanca? Utiliza la columna Skin color y el valor es white.
- ¿Cuántos superhéroes tienen los ojos amarillos? Utiliza la columna Eye color y el valor es yellow.
Condicionales complejas
Para unir dos o más condiciones utiliza:
- Cada condición entre paréntesis, y
- Los conectores & (para conjunción – and) u | (para disyunción – or)
Por ejemplo, para la pregunta: ¿Cuáles son los nombres de los superhéroes humanos que son neutrales ?
- Selecciona la columna namecolumnaNombres = superheroes[‘name’]
- Selecciona la columna RacecolumnaRaza = superheroes[‘Race’]
- Selecciona la columna AlignmentcolumnaAlineacion = superheroes[‘Alignment’]
- Crea la condicióncondicion = (columnaRaza == ‘Human’) & (columnaAlineacion == ‘neutral’ )
- Filtra la columna name con la condiciónprint( columnaNombres[condicion] )
Operaciones básicas
Desde luego, Pandas tiene un conjunto de operaciones básicas, como: sum, max, min, idxmax, idxmin, mean, para responder a preguntas como:
¿Cuál es el nombre, editorial y peso del superhéroe más pesado?
- Obtén el valor del peso más grandepesoMax = superheroes[‘Weight’].max()
- Crea la condición con el valor obtenido.condicion = superheroes[‘Weight’] == pesoMax
- Obtén la fila con el índice obtenidosuperHeroeMasPesado = superheroes[condicion]
- Muestra las característicasprint(superHeroeMasPesado[‘name’],superHeroeMasPesado[‘Publisher’], pesoMax )
- Debería mostrar esta informaciónSasquatch Marvel Comics 900.0
Acá encontrarás más detalles de otras operaciones básicas.
Para los siguientes casos deberás considerar que el valor de la estatura/peso no se conoce por lo que han colocado el valor de -99.
- ¿Cuál es el nombre del alien bueno de menor estatura? columnas: name, Alignment (‘good’), Race (‘Alien’) y Height.
- ¿Cuál es la estatura promedio de los mutantes? columnas: Race (‘Mutant’) y Height.
- ¿Cuántos buenos se encuentran en las editoriales ‘HarperCollins’ y ‘George Lucas’? columnas: Alignment (‘good’) y Publisher (‘HarperCollins’ – ‘George Lucas’)