Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Si bien cumple muy bien su propósito, sus limitaciones se hacen claras cuando necesitamos
más flexibilidad (adjuntar etiquetas a los datos, trabajar con datos perdidos, etc.) y cuando
intentamos operaciones que no se corresponden bien con la transmisión elemento a
elemento (agrupaciones, pivotes, etc.), cada uno de los cuales es una pieza importante para
analizar los datos menos estructurados disponibles en muchas formas en el mundo que nos
rodea.
En este módulo, nos enfocaremos en cómo utilizar de manera efectiva las estructuras de
datos de Series, DataFrame y similares. Presentaremos ejemplos tomados de datasets
reales en la medida de lo posible.
Objetos de Pandas
Conclusiones
Referencias
Material descargable
Lección 1 de 6
Empecemos por importar las bibliotecas que necesitaremos para nuestro programa.
La primera instrucción contiene el código para importar la librería Pandas como pd.
Esto es por comodidad. Cada vez que necesitemos utilizar alguna funcionalidad de
la librería Pandas, escribiremos pd en lugar de pandas. Una vez instalado Pandas, se
puede importar y verificar la versión:
De la misma manera que es común importar NumPy bajo la abreviatura np, también
es típico importar Pandas con la abreviatura pd:
Esta manera de importación se utilizará a lo largo del resto de este curso.
Objetos de Pandas
Como descubriremos a lo largo de este programa, Pandas ofrece una gran cantidad
de herramientas, métodos y características útiles en adición a las estructuras de
datos básicas, pero prácticamente todo lo demás requerirá un entendimiento previo
de qué son estas estructuras (McKinney, 2017).
Como vemos en la salida anterior, la Serie envuelve tanto una secuencia de valores
como una secuencia de índices, que podemos acceder con los atributos values e
index. Los valores son simplemente un array de NumPy:
Al igual que con un array de NumPy, los datos se pueden acceder mediante el índice
asociado con la notación de corchetes de Python familiar:
Como veremos, aunque la Serie es mucho más general y flexible que el array
valores tipados, lo que lo hace más eficiente que los diccionarios de Python para
ciertas operaciones.
DataFrame
DataFrame.mp3
1.9 MB
DataFrame se puede construir desde: un solo objeto Series, una lista de diccionarios,
un diccionario de objetos Series, una matriz bidimensional de NumPy y una matriz
estructurada de NumPy. A continuación, algunos ejemplos de la construcción de
DataFrames:
Índice
Hemos visto que tanto los objetos Series como DataFrame contienen un índice
explícito que permite hacer referencia y modificar los datos. El objeto Índice es
digno de interés por sí mismo y puede ser percibido como un arreglo inmutable o
como un grupo organizado (técnicamente un multiconjunto, ya que puede incluir
valores repetidos).
Las operaciones que se pueden realizar en los objetos Índice se ven afectadas de
formas interesantes por estas vistas. Como un ejemplo simple, construyamos un
Índice a partir de una lista de enteros:
Esta inmutabilidad hace que sea más seguro compartir índices entre múltiples
marcos de datos y matrices, sin el potencial de efectos secundarios por la
modificación accidental del índice.
El acceso a estas operaciones también puede ser a través de métodos de objetos,
por ejemplo, indA.intersection(indB).Para complementar lo mencionado, revisa el
video que encontrarás a continuación.
Métodos de objetos_C2_U2
POSTGRADOS UNIVERSIDAD AUTÓNOMA
01:35
Métodos de objetos.mp3
1.9 MB
SUBMIT
Lección 3 de 6
Lectura de datos
Pandas tiene varias funciones para la lectura de datos tabulares como un objeto
DataFrame. La Tabla 1 resume algunas de ellas, aunque read_csv y read_table son las
que probablemente uses con más frecuencia.
Tabla 1: Funciones de análisis en Pandas. Fuente: Vidal (2023).
Comencemos a leer los datos que descargamos. Primero, debemos crear un nuevo
book y abrirlo. Luego, después de asegurarnos de que el archivo mod2_Data.csv esté
almacenado en el mismo directorio que el directorio de nuestro book, escribiremos
el siguiente código para leer y mostrar el contenido:
Haz clic en las flechas para moverte por el contenido
Por lo tanto, cuando se aplica esta máscara como un índice en "edu [edu['Valor'] >
6,5]", el resultado es un DataFrame filtrado que contiene solo filas con valores
superiores a 6,5. Por supuesto, se puede utilizar cualquiera de los operadores
booleanos habituales para filtrar: < (menor que),<= (menor o igual que), > (mayor
que), >= (mayor o igual que), = (igual que) y ! = (no igual que).
Para filtrar los datos, se deben agrupar y seleccionar los datos entre corchetes.
Falso
Verdadero
SUBMIT
Pandas emplea NaN (Not a Number) como representación de valores ausentes. Este
valor especial en Python es un tipo de número con punto flotante generado por
operaciones que no tienen un resultado determinado.
Es importante tener en cuenta que dos NaN nunca son iguales, por lo que el método
más seguro para determinar si un dato no se encuentra en un DataFrame es a través
de la función "isnull()".
Manipulación de datos
Otra función esencial que debemos usar para examinar nuestros datos es la que nos
permite ordenarlos por columnas. Es precisamente la función "sort" la que nos
permitirá ordenar un DataFrame en base a cualquiera de sus columnas.
Si queremos ver las primeras cinco filas de datos ordenadas en orden descendente
(es decir, de los valores más grandes a los más pequeños) y utilizando la columna
"Value", solo necesitamos hacer esto:
Usando la función "sort_index" y "axis=0", podemos ordenar por índice para
restaurar el orden original:
Agrupar datos
Otra forma muy útil de inspeccionar los datos es agruparlos según algún criterio. Por
ejemplo, el agrupar los datos por país, sin importar el año, es posible con la función
"groupby" de Pandas. Esta función devuelve un DataFrame especial agrupado, para
el cual es necesario aplicar una función de agregación para obtener un DataFrame
propio. Dicha función afectará todos los valores que se encuentran en el grupo.
Hasta ahora, nuestros índices han sido solo una numeración de filas sin mucho
sentido. Podemos reorganizar los datos, cambiando los índices y las columnas con el
fin de manipularlos con eficacia. La función "pivot_table" nos permite hacer esto,
aquí especificamos qué columnas serán los nuevos índices, los nuevos valores y las
columnas recién creadas.
Conclusiones
Revisa la siguiente infografía, que resume los contenidos más relevantes vistos
en esta unidad.
FUNCIONES DE PANDAS.pdf
725.7 KB
Lección 5 de 6
Referencias
McKinney, W. (2017). Python for Data Analysis: Data Wrangling with Pandas,
NumPy, and IPython. O'Reilly Media, Incorporated.
Seguí, S., Vitrià, J., Puertas, E., Pujol, O., Escalera, S., Garrido, L., Dantí, F., &
Igual, L. (2017). Introduction to Data Science: A Python Approach to Concepts,
Techniques and Applications. Springer International Publishing.
Material descargable