Skip to content

Librerías: pandas, matplotlib, random

Published: at 12:00 AM

Repaso

Python: librerías

Para incluir una librería se usa el comando import, seguido por el nombre de la librería. Para usar un alias (usualmente acordar) se usa el comando as, seguido por el alias. Por ejemplo, para uasar la librería numpy, con el alias np, se escribiría el comando:

import numpy as np

Vamos a utilizar las siguientes librerías:

numpy

Es la librería numérica de python. Usualmente se incluye con el alias np. Se importa como:

import numpy as np

np.linspace

Lo usamos para generar números en un intervalo. Por ejemplo, np.linspace(0,10,11) genera los números del 00 al 1010. Devuelve un arreglo.

random

Tiene funciones para números aleatorios. Se usa el alias ran. Se importa como:

import random as ran

semilla

Los generadores de números aleatorios realmente no son verdaderamente aleatorios, siguen reglas definidas que pareciera que generan números completamente aleatorios. Ahora, durante la fase de escritura y revisión del código es útil que las funciones generadoras de números aleatorios parezcan aleatorias pero repitan siempre la misma secuencia de números cada vez que se corre de nuevo el código.

Para garantizar que cada vez que se usa el código se generan los mismos valores aleatorios se usa una semilla, que es un valor numérico. Por ejemplo, el código:

ran.seed(3)

Define que la semilla es el número 3.

ran.choice

Lo usamos para elegir elementos al azar, por ejemplo de un arreglo.

Ejemplo

El siguiente código simula un único lanzamiento de un dado de seis caras:

import random as ran
ran.seed(8)
unlance = ran.choice([1,2,3,4,5,6])

matplotlib.pyplot

Matplotlib es la librería que se usa para generar las gráficas. Se suele importar con el alias plt:

import matplotlib.pyplot as plt

plt.hist

Lo usamos para construir un histograma. Vamos a usarlo con cuatro argumentos. El primero, la lista de valores que van en el histograma. El segundo, el rango, una pareja de números para un histograma de enteros como pareja el 1 y el máximo + 1. El tercero la palabra clave bins igual al número de opciones del dado, cuarto la palabra clave density en True, para que se genere un histograma normalizado.

Por ejemplo, si estamos simulando un dado de tres valores, 1,2,31,2,3, y los datos que se obtuvieron del lanzamiento del dado son:

datos = [1,1,2,3,1,3,2,1,1,3,2,1,2]

El histograma se genera así:

plt.hist(datos,range=(1,4),bins=3,density=False,edgecolor='w')

Esto genera lo siguiente:

A esta figura todavía le falta, para ser útil:

Los podemos añadir así:

cuentas,bordes,barras=plt.hist(datos,range=(1,4),bins=3,density=False,edgecolor='w')
plt.bar_label(barras)
plt.xlabel("Resultados del dado de tres caras")
plt.ylabel("Frecuencia)

Lo que genera el siguiente histograma:

Aquí tenemos que para el primer valor, 1, la frecuencia relativa

Anteriormente trabajamos el tema de los diferentes enfoques de probabilidad. Aquí vamos a construir algunos ejemplos para desarrollar los conceptos.

DataFrames

La estructura de datos que se usa en pandas es el dataframe. Se puede crear de varias formas, pero la más común y sencilla es leer un conjunto de datos desde un archivo de texto, como lo hicimos anteriormente.

Habiendo descargado el archivo Nacimientos_1998.csv, se carga en un DataFrame que se llama df así:

import pandas as pd
df = pd.read_csv('Nacimientos_1998.csv',sep=';')

Particularidades de cargar los DataFrames

Características de los DataFrames

Se pueden averiguar las características de los dataframes así:

   cod_dpto  cod_munic  areanac  sit_parto               nom_inst     cod_inst  sexo  ...  n_hijosv  fecha_nacm  n_emb  seg_social  edad_padre  niv_edup  profesion
0        27          6        1          1  HL LASCARIO BARBOZA A  270060013.0     1  ...         1         NaN      1           9          15         9          1
1        27         73        1          1            CSCC BAGADO  270730019.0     2  ...        99         NaN     99           9          99         9          2
2        27         75        2          2                    NaN          NaN     2  ...         1         NaN      1           9          25         2          3
3        27        361        2          1            CS ANDAGOYA  273610065.0     1  ...         1         NaN      1           9          19         3          1
4        27        361        2          1            CS ANDAGOYA  273610065.0     2  ...         1         NaN      1           9          33         3          1

[5 rows x 33 columns]

I

Out[14]: 
        cod_dpto  cod_munic  areanac  sit_parto nom_inst cod_inst  sexo  peso_nac  ...  area_res  n_hijosv  fecha_nacm  n_emb  seg_social  edad_padre  niv_edup  profesion
720979        73        168        1          2      NaN      NaN     2         9  ...       9.0        99         NaN     99           9          99         9          9
720980        17        524        1          2      NaN      NaN     2         9  ...       9.0        99         NaN     99           9          48         9          4
720981        70        124        9          2      NaN      NaN     1         9  ...       9.0        99         NaN     99           9          33         9          9
720982        13        760        9          2      NaN      NaN     1         9  ...       9.0        99         NaN     99           9          99         9          9
720983        76        606        9          9      NaN      NaN     1         9  ...       9.0        99         NaN     99           9          99         9          4

[5 rows x 33 columns]

Accediendo a variables (columnas)

En principio, cada columna corresponde a una variable.

Para acceder a los registros se puede:

Funciones sobre las variables

Estas funciones son comunes a numpy, entonces no son únicas de los DataFrames, pero para nosotros basta con mencionarlas aquí. Mencionammos unas pocas, hay muchas más. Revisar la bibliografía de numpy y pandas.

Material Complementario

Ejercicios


Next Post
Primera Evaluación MPIC