viernes, 1 de octubre de 2021

Graficos Estadisticos con Matplotlib - Diagrama de Barras

 

Diagrama de Barras con Matplotlib y Pandas


El Diagrama de Barras es un gráfico que se utiliza para representar datos de variables cualitativas o discretas. Está formado por barras rectangulares cuya altura es proporcional a la frecuencia de cada uno de los valores de la variable.

Siguiendo con el ejemplo de datos estadisticos de Canadá, escojemos un país para mostrar,
realizamos la carga de los datos, los modificamos, y agregamos el siguiente código:

#creamos la estructura especificando el rango de los datos

years=list(map(str,range(1980,2014)))

#localizamos los datos del pais que queremos

df_iceland=df_can.loc['Iceland', years]

#especificamos el tipo de grafico

df_iceland.plot(kind='bar')

#configuramos la visualizacion del cuadro

pllt.title('Iceland imigration to canada from 1980 to 2013')

pllt.ylabel('Years')

pllt.xlabel('Number of Inmigrants')

pllt.show()


Código Completo

Resultado



sábado, 1 de mayo de 2021

Graficos Estadisticos con Matplotlib - Histogramas


Histogramas con Matplotlib y Pandas

Los histogramas son gráficos que indican la frecuencia de un hecho mediante una distribución de los datos. Los histogramas no se pueden elaborar con atributos, sino con variables medibles tales como peso, temperatura, tiempo, etc.

Los histogramas se utilizan para:

  • Interpretar las variaciones de los datos.
  • Ofrecer una mejor visión de la información proporcionada por los datos para interpretarlos más adecuadamente.
  • Identificar las causas del problema.
  • Comprobar las causas.
  • Valorar la solución una vez que se ha eliminado la causa del problema.

Siguiendo con el ejemplo de datos de Canadá, realizamos la carga de los datos, los modificamos, y agregamos el siguiente código:

#divide la extensión de los datos de 2013 en 10 contenedores de igual ancho

count, bin_edges= np.histogram(df_can['2013'])

#genero el histograma

df_can['2013'].plot(kind='hist', xticks = bin_edges)

#configuramos la visualizacion del cuadro

pllt.title('IHistogram of Inmigration from 195 countries in 2013')

pllt.ylabel('Number of Countries')

pllt.xlabel('Number of Inmigrants')

pllt.show()


Código Completo


Resultado



viernes, 30 de abril de 2021

Gráficos Estadísticos con Matplotlib - Gráficos de Área

 Gráficos Estadísticos con Matplotlib - 

Gráficos de Área

Un gráfico de área es un gráfico de líneas en el que el área entre la línea y el eje aparece sombreada con un color. Estos gráficos normalmente se usan para representar los totales acumulados a lo largo del tiempo y son la forma convencional de visualizar líneas apiladas.

Para el ejemplo que hemos estado usando en este blog, debemos además ordenar los datos para que nuestro gráfico nos muestre los datos de los primeros resultados, en este caso le llamaremos Top 5 de países, como antecedente tenemos el código de apertura del archivo:

import numpy as np 

import pandas as pd

import matplotlib as mpl 

from matplotlib import pyplot as pllt

#lee el archivo xls

df_can = pd.read_excel(

'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',

#ignora las primeras 20 filas que corresponden al enunciado 

skiprows =range(20),

sheet_name="Canada by Citizenship",

skipfooter=2

)

#renombra las columnas

df_can = df_can.rename(columns={"OdName": "Country", "AreaName": "Continent", "RegName": "Region"})

#configura a Country como linea de indice para usarlo despues en las busquedas.

df_can = df_can.set_index('Country')

# Elimina unas columnas extras

df_can = df_can.drop(columns=["Type", "Coverage", "AREA", "REG", "DEV"])

# Calcula el total 

df_can['Total'] = df_can.iloc[:, 3:].sum(axis=1)

# Convierte todos los nombres de las columnas en string

df_can.columns = df_can.columns.astype(str)


Y a continuación el código que nos ayuda en la manipulación de los datos para mostrar el cuadro por área:


#creamos una estructura con los datos 

years= list(map(str,range(1980,2014)))

#Ordenar los datos

df_can.sort_values(['Total'], ascending = False, axis = 0, inplace = True)

#Mostrar solo los primeros 5 resultados

df_top5=df_can.head()

df_top5=df_top5[years].transpose()

#Definimos el tipo de cuadro

df_top5.plot(kind='area')

#seleccionamos los datos del archivo

#df_can.loc['Haiti',years].plot(kind='line')

#configuramos la visualizacion del cuadro

pllt.title('Inmigration trend of top 5 countries')

pllt.ylabel('Number of Inmigrants')

pllt.xlabel('Years')

pllt.show()

print(df_can.head())

Código del Programa

Visualización de la Tabla de Datos


Gráfico de Área





Gráficos Estadísticos con Matplotlib - Gráficos Lineales

 Gráficos Estadísticos con Matplotlib - 

Gráficos Lineales

    A partir de las entradas correspondientes a la Manipulación de Datos que se encuentran en las siguientes entradas del blog:

Podemos crear gráficos que nos ayuden con el análisis de la información, ya que la visualización sera más intuitiva. 

Existen diferentes Tipos de Gráficos que se pueden usar, pero debemos tener en cuenta que para mayor facilidad de entendimiento de los datos muchas veces usar los cuadros más simples es la solución más óptima.

Usare en este ejercicio un Gráfico Lineal, que nos ayudara a representar los datos de Inmigración por año del país Haití hacia Canadá.

Modificando el archivo anterior debemos importar las librerías de matplottib con el siguiente código:


import matplotlib as mpl 

from matplotlib import pyplot as pllt


Luego agregamos lo siguiente debajo del código usado para la manipulación de datos:


#creamos una estructura con los datos 

years= list(map(str,range(1980,2014)))

#seleccionamos los datos del archivo

df_can.loc['Haiti',years].plot(kind='line')

#configuramos la visualizacion del cuadro

pllt.title('Inmigration from Haiti')

pllt.ylabel('Number of Inmigrants')

pllt.xlabel('Years')

pllt.show()









jueves, 29 de abril de 2021

Manejar un archivo de Excel en Python (2)

 Manejar un archivo de Excel en Python (2)

La manipulacion de los archivos corresponde a todas las opciones que nos proporciona Pandas para usar el archivo, como abrir, eliminar, modificar filas columnas, modificar datos del archivo, entre otros.

En este ejemplo voy a abrir un archivo de Excel extraído de una dirección web, renombrando unas columnas y manipulando los datos para poder agregar una nueva columna que contenga un valor total:

import numpy as np 

import pandas as pd 

#lee el archivo xls

df_can = pd.read_excel(

'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',

#ignora las primeras 20 filas que corresponden al enunciado 

skiprows =range(20),

sheet_name="Canada by Citizenship",

skipfooter=2

)

Hasta aqui es solo el código de apertura del archivo, especificando que columnas voy a ignorar.

A continuación el código correspondiente para el renombrado de columnas, el borrado de columnas, y una adición de una columna con un valor Total que es la suma de los valores alojados en celdas correspondiente a un número de personas una vez que ya hemos filtrado los datos por nombre del país.

df_can = df_can.rename(columns={"OdName": "Country", "AreaName": "Continent", "RegName": "Region"})

df_can = df_can.set_index('Country')

df_can = df_can.drop(columns=["Type", "Coverage", "AREA", "REG", "DEV"])

df_can['Total'] = df_can.iloc[:, 3:].sum(axis=1)

df_can.columns = df_can.columns.astype(str)

print(df_can.head())


Este seria el resultado que debemos obtener:



Manejar un archivo de Excel en Python

 Manejar un archivo de Excel en Python


Ejercicio:

Análisis de los Datos Obtenidos del Gobierno de Canadá sobre Inmigración.

Podemos descargar desde este enlace:

https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx


Par poder iniciar con el análisis de datos en Python debemos instalar librerías que nos ayudaran con esto.

Luego hare una entrada explicando que son estas librerías y como funcionan.

Previamente instalamos las librerías numpy, pandas y openpyxl mediante pip; para esto mediante linea de comandos escribimos las siguientes instrucciones, esperando que se instalen:

pip install nympy

pip install pandas

pip install openpyxl

•Abrir un archivo alojado en una página web•

Vamos a crear un archivo de Python con el siguiente código:

import numpy as np 

import pandas as pd 

#lee el archivo xls

df_can = pd.read_excel(

'https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/DV0101EN/labs/Data_Files/Canada.xlsx',

#ignora las primeras 20 filas que corresponden al enunciado 

skiprows =range(20),

sheet_name="Canada by Citizenship",

skipfooter=2

)

Tendremos un resultado similar a este:



Libreria Matpotlib en Python

 

Matplotlib

Matplotlib es una biblioteca para la generación de gráficos a partir de datos contenidos en listas o arrays en el lenguaje de programación Python y su extensión matemática NumPy. Proporciona una API, pylab, diseñada para recordar a la de MATLAB.

Como lo instalo?

Desde el símbolo del sistema escribimos la siguiente instrucción:

pip install matplotlib 

Este es un ejemplo sencillo para mostrar como representa unas coordenadas.

Primero una vez instalado Python, desde el cmd escribimos la palabra python para comenzar a trabajar.

El código que vamos a probar es:

>>import matplotlib.pyplot as plt

>>plt.plot(5,5,'o')

>>plt.show()

Se abrirá la ventana con las coordenadas que especificamos.

Buscar este blog