Sei sulla pagina 1di 26

CCPG1001:

FUNDAMENTOS DE PROGRAMACIÓN

Unidad 6 - Data Analysis with Panda

MSc.(I.T.) Rocio Mera Suarez


remera@espol.edu.ec
!2

Agenda
• Filtrado y agrupación de datos.
• Extracción de datos de diferentes fuentes.
• Exportación de datos.
• Visualización básica de datos.
!3

Problema

• Usted es el gerente de una tienda de artículos deportivos.


La tienda guarda un registro del monto de las ventas
diarias en un archivo llamado stock_data.csv. Usted como
gerente desea analizar las tendencias en el volumen de
ventas de la empresa a través del tiempo.

• ¿Cómo hacemos esto?


!4

Ejemplo del archivo stock_data.csv


!5

Análisis de la data
• Algunos datos interesantes que podrías obtener de los
datos de las ventas
• Volumen de ventas por año
• Volumen de ventas por marca
• Volumen de ventas por año y por marca
• Fecha en la que ocurrió la máxima venta y mínima venta
de cada marca.
!6

Análisis de la data
• Para qué nos sirve esa información
• Tomar decisiones basada en la información que
extraemos.
• Promocionar más los artículos de un marca cuyas
ventas han decaído o decidir no vender más artículos
de esa marca porque no se venden.
• Hacer proyecciones
• Basado en la información recolectada con el tiempo
me puedo proyectar si mi negocio crecerá o decaerá
• Basada en la información proyectar en que mese
tendré más ventas o menos ventas
!7

Ejemplo de información extraída de la


data.
• Promedio en ventas por marca
!8

Ejemplo de información extraída de la


data.
• Monto en venta por marca en la año 2011
!9

Análisis de la data

• Python tiene muchas herramientas que nos permiten


hacer un análisis de datos de manera ágil y sencilla

• Una de estas librerías para análisis de datos es pandas.


!10

Pandas
• Es una librería de python para la manipulación de datos y
su análisis.
• Diseñada para hacer sencillo e intuitivo trabajar con
datos marcados o relacionados

• Como no es una librería del core de python debemos


importarla para poder usar sus funciones.

• Es construida sobre numpy.


!11

Pandas
• Pandas hace fácil
• Trabajar con datos tabulados de tipos heterogéneos.
• Como en un hoja de excel.
• El contenido esta separada en celdas y cada celda
tiene un dato de tipo diferente.

• Trabajar con datos de series de tiempos ordenados y


desordenados

• Trabajar con matrices de datos con filas y columnas


marcadas.
!12

Pandas Estructuras de Datos


• Una estructura de datos es una forma de organizar datos
para que puedan ser utilizados más eficientemente.
• Generalmente definen reglas de como leer y escribir
datos en la estructura.

• Las principales estructuras de datos en Pandas son

• Series
• DataFrames
!13

Pandas Estructuras de Datos: Series


• Series son arreglos de 1 dimensión indexados (usando
índice numérico o etiquetas). Pueden generarse a partir
de diccionario o de listas

• Se pueden acceder a los elementos de la serie


individualmente usando los índices numéricos o las
etiquetas.

los datos en la serie


los índices de la serie
!14

Pandas Estructuras de Datos: Series


• Ejemplo: Serie a partir de una lista usando índice
numérico.

• Los índices son numéricos y son


creados automáticamente
• Para acceder al elemento usar el índice
!15

Pandas Estructuras de Datos: Series


• Ejemplo: Serie a partir de un diccionario usando etiquetas.
!16

Pandas Estructuras de Datos:


DataFrame
• Un dataframe es similar a un libro Excel - Usted tiene
columnas y filas. Para referirnos a las columnas usamos
etiquetas (nombres de las columnas) y para referirnos a
las filas usamos el número de la fila.

• El nombre de la columna y el número de la fila son


referidos como los índices de las fila y columna.
!17

Pandas Estructuras de Datos:


DataFrame
• Ejemplo: Creación de un DataFrame que contiene
información acerca la población y superficie de estados de
de México
!18

Pandas Estructuras de Datos:


DataFrame
• Al crear el DataFrame se puede pasar los indices que
queremos usar para las columnas como parámetros
!19

Pandas Estructuras de Datos:


DataFrame
• Seleccionar los datos de una columna

!20

Pandas Estructuras de Datos:


DataFrame
• Seleccionar una fila

• Seleccionar múltiples filas


!21

Pandas Estructuras de Datos:


DataFrame
!22

Pandas Estructuras de Datos:


DataFrame
• Modicar DataFrame
!23

Algunas funciones
• df -> DataFrame

Método Descripción
df.index Retorna los índices
df.columns Retorna las etiquetas de las columnas
df.values Numpy representación de el DataFrame
df.head(n = 5) Retorna las primeras n filas, defecto 5
df.tail(n = 5) Retorna las ultimas n filas, defecto 5
df.describe() Un DataFrame con datos estadísticos de df
df.copy() Un nuevo DataFrame que es una copia del df
df.mean() Una serie con la media de los valores en las
columnas
columnas
df.sort_index() devuele un nuevo dataFrame con los
elementos ordenados por el indice
df.sort_values(by = “columna”) devuelve un nuevo dataFrame con los
elementos ordenados por los valores en la
columna indicada
!24

Procedimiento
1. El conjunto de datos a analizar (data set) es primero leído
(generalmente desde un archivo con un formato
específico) a un dataframe.

3. Después para extraer información de los datos aplicamos


operaciones a las columnas
• Operaciones de Agregación
• mean(), sum()
• Agrupaciones
• gropuBy
• Filtrar
!25

Importando los datos


• Pandas tiene algunas funciones que nos permite cargar
los datos de archivo con distintos formatos.

• Uno formato muy común en el que se almacenan los


archivos es csv, que consiste de un archivo donde cada
fila corresponde a un registro y los elementos en el
registro están separados por comas.
!26

Método read_csv()
• df.read_csv(“archivo”) : Este método permite importar (leer) datos
desde un archivo csv directamente a un DataFrame de panda.
• Parametros:
sep=“,” caracter por el que están separados los elementos en el
archivo, por defecto es “,”

header int or list of indice de la fila o lista de indices de las filas a ser usada
ints, default como etiquetas de las columnas. Si no se pasa el
‘infer’ argumento pandas infiere las etiquetas de las colunnas de
index_col int or la primera
indice de lafila del archivo.
columna a usarse como etiquetas del
sequence or dataFame. Si no se pasa nada se usa una secuencia
False, default ascendente
parse_dates None
boolean or list lista con los indices o los nombres de las columnas que
of ints or deben ser tratadas como fechas.
names

• Para más opciones, revise el siguiente enlace:


• http://pandas.pydata.org/pandas-docs/stable/generated/
pandas.read_csv.html