Sunteți pe pagina 1din 43

Python

Características de Python
 Código abierto - gratis para instalar
 Comunidad en línea

 Muy fácil de aprender

 Es un lenguaje interpretado en lugar de un lenguaje compilado,

por lo tanto, podría tomar más tiempo de CPU.

Utilizaremos Spyder
como entorno de
programación
Conceptos Básicos

 Listas
 Strings

 Tuplas

 Diccionarios

 Estructuras de Control

 Librerías
Listas
 La lista se puede definir indicando sus valores separados por comas
Listas
 La lista se puede definir indicando sus valores separados por comas

 Los elementos de la lista se acceden indicando su posición entre []


Listas - Chequeo de rango para el índice
 Se chequea el acceso fuera de rango para índices superiores a la
dimensión de la lista pero los negativos se resuelven en forma circular
Strings
 Se definen usando comillas simples o dobles, es indistinto.
Strings
 No se pueden cambiar los caracteres pero si reasignarles otro string
Listas y Tuplas
 Ambas son estructuras de datos heterogéneas
Listas y Tuplas
 Las tuplas no se pueden modificar mientras que las listas si.
Diccionarios
 Son objetos que contienen parejas de objetos. De cada pareja un
elemento es la clave, que no puede repetirse, y, el otro, un valor
asociado.

 Se puede acceder a los valores


usando la lave
Estructuras de control - WHILE
Estructuras de control - FOR
Estructuras de control - FOR
Estructuras de control - IF
Librerías en Python
 Para poder usarlas es preciso importarlas
Librerías de Python para Minería de Datos

 NumPy: Es una biblioteca de funciones matemáticas de alto nivel que


extiende la funcionalidad de Python para operar con vectores y
matrices.
 Pandas: Es una librería escrita como extensión de NumPy para
manipulación y análisis de datos en Python. Ofrece estructuras de
datos y operaciones para manipular tablas numéricas.
 MatplotLib: es una biblioteca para generar gráficos a partir de datos
contenidos en listas o arrays de Python y su extensión matemática
NumPy.
Cómo leer un archivo csv Globos.csv

import pandas as pd
import os
os.chdir('../Datos//’)

datos = pd.read_csv('Globos.csv')

# dtypes visualiza los tipos de dato del DataFrame


print(datos.dtypes)
print('\n')

# -- METADATOS –
print(datos.describe())

01_leerArch_Globos.py
Cómo leer un archivo csv Globos_nros.csv

import pandas as pd
import os
os.chdir('../Datos//’)

datos = pd.read_csv('Globos_nros.csv')

# dtypes visualiza los tipos de dato del DataFrame


print(datos.dtypes)
print('\n')

# -- METADATOS –
print(datos.describe()) Si hay atributos
numéricos, por
defecto no muestra
los cualitativos
Describe() 01_leerArch_Globos_nros.py

import pandas as pd
import numpy as np
import os
os.chdir('../Datos//')
datos = pd.read_csv('Globos_nros.csv')
# Si hay atrib.numéricos, muestra sólo esos
print(datos.describe())
# Sólo los atributos categóricos
print(datos.describe(include=[np.object]))
# Sólo atributos numéricos
print(datos.describe(include=[np.number]))
# Todos los atributos
print(datos.describe(include='all'))
Ejercicio Premios.csv

 Se dispone de la siguiente información de los premios de la


Academia otorgados a los mejores actores y actrices desde 1928
hasta 2016.
 Año en que fue otorgado el premio

 Datos del actor que lo recibió: Nombre, edad, sexo

 Datos de la película: Título, género, duración, rating, cantidad de


nominaciones que recibió, mes de estreno, sinopsis

weblidi.info.unlp.edu.ar/catedras/MD_SI/
Ejercicio Premios.csv
El archivo Premios.csv contiene 178 premios otorgados

weblidi.info.unlp.edu.ar/catedras/MD_SI/
Cómo leer un archivo csv 01_LeerArchivo.py

import pandas as pd
import numpy as np
import os

with open('Premios.csv', 'rb') as f:


result = chardet.detect(f.read())

datos= pd.read_csv('Premios.csv’, encoding=result['encoding'])

En este caso vale 'ISO-8859-1'


Cómo leer un archivo csv
import pandas as pd
import numpy as np
import os
import chardet

os.chdir('../Datos//')
nomArch = 'Premios.csv'
with open(nomArch, 'rb') as f:
result = chardet.detect(f.read())

datos= pd.read_csv(nomArch, encoding=result['encoding’])

print(datos.describe())
print('\n')
print(datos['genre1'].describe()) 01_LeerArchivo.py
Diagramas de Caja - Premios

import matplotlib.pyplot as plt


import pandas as pd
import numpy as np 01_BoxPlot_Premios.py
import os
os.chdir('../Datos//')
datos = pd.read_csv('premios.csv', encoding='ISO-8859-1')
plt.figure()
datos.boxplot()
plt.figure()
datos.boxplot(column=['Age', 'nominations', 'rating'])
datos.boxplot()
datos.boxplot(column=['Age’,
'nominations', 'rating'])
Histograma

import matplotlib.pyplot as plt


import pandas as pd
import numpy as np
import os
os.chdir('../Datos//')
datos = pd.read_csv('premios.csv', encoding='ISO-8859-1')
plt.figure()
plt.hist(datos['Age'], bins = 6, edgecolor = 'black', \
linewidth=1)
plt.xlabel('AGE')
plt.ylabel('Frecuencia') 01_Histograma_Age.py
Histograma del atributo Age
Diagrama de Barras 01_Diag_Barras.py

import matplotlib.pyplot as plt


import pandas as pd
import numpy as np
import os

# Leer los datos en un DataFrame


os.chdir('..\\Datos\\')
datos = pd.read_csv('premios.csv', encoding='ISO-8859-1')
Diagrama de Barras (cont) 01_Diag_Barras.py

datos = pd.read_csv('premios.csv', encoding='ISO-8859-1')


barras = pd.value_counts(datos['genre1'])
plt.figure()
plt.bar(np.arange(len(barras)), barras) # Gráfico de barras
plt.title('Género') # Colocamos el título
plt.ylabel('Frecuencia')
# Colocamos las etiquetas del eje x
plt.xticks(np.arange(9), barras.index, rotation = 45)
Diagrama de Barras 01_Diag_Barras.py
Gráfico de torta 01_Graf_TORTA.py

plt.figure()
barras = pd.value_counts(datos['genre1'])
plt.pie(barras,labels=barras.index)
plt.title('Género')
Diagrama de dispersión 01_Diag_Dispersion.py

plt.scatter(datos['duration'], datos['nominations'])
plt.ylabel('Nominations')
plt.xlabel('Duration')
Relación de Atributos
 Cuando de trabaja con atributos numéricos resulta de interés medir la
correlación lineal entre ellos.
 El coeficiente de correlación lineal entre dos atributos numéricos es un
valor entre -1 y 1 que indica cuán “alineados” están los valores de
ambas variables.
Coeficiente de correlación lineal
 Correlación Positiva  Correlación Negativa
Coeficiente de correlación lineal
 El coeficiente de correlación valdrá 0 cuando no haya ningún tipo de
relación lineal entre las variables.

 Note que esto no implica que sean independientes (podrían tener otro
tipo de relación)
Coeficiente de correlación lineal
 Dados dos atributos 𝐴 y 𝐵 el coeficiente de correlación lineal entre
ellos se calcula de la siguiente forma

𝐶𝑜𝑣(𝐴, 𝐵)
𝐶𝑜𝑟𝑟 𝐴, 𝐵 =
𝜎𝐴 𝜎𝐵

siendo 𝐶𝑜𝑣(𝐴, 𝐵) la covarianza entre 𝐴 y 𝐵 y 𝜎𝐴 y 𝜎𝐵 los desvíos de


cada variable.
Covarianza y desvío estándar
 Dadas dos variables 𝐴 y 𝐵

𝐶𝑜𝑣 𝐴, 𝐵 = ෍ 𝑎𝑖 − 𝜇𝐴 𝑏𝑖 − 𝜇𝐵 /𝑁
𝑖=1

𝜎𝐴 = ෍ 𝑎𝑖 − 𝜇 𝐴 2 /𝑁
𝐼=1
Coeficiente de correlación lineal

INTERPRETACION
 Si 0.5≤ abs(Corr(A,B)) < 0.8 se dice que A y B tienen una
correlación lineal débil.
 Si abs(Corr(A,B)) > 0.8 se dice que A y B tienen una correlación
lineal fuerte
 Si abs(Corr(A,B))<0.5 se dice que A y B no están correlacionados
linealmente. Esto NO implica que son independientes, sólo que entre
ambos no hay una correlación lineal.
Matriz de correlación lineal
 Es una matriz simétrica cuyas filas y columnas corresponden los
atributos numéricos y sus elementos son los coeficientes de correlación
correspondientes a cada par.
 Nótese que los atributos deben ser numéricos para poder calcular la
correlación entre ellos.
 Nota: Si son categóricos y se utiliza el operador “Correlation matrix” de
Rapid Miner se aplicará automáticamente una numerización de entero único.
Matriz de correlación 01_Correlacion.py

import matplotlib.pyplot as plt


import pandas as pd
import numpy as np
import seaborn as sns
import os
os.chdir('../Datos//')
datos = pd.read_csv('premios.csv', encoding='ISO-8859-1')

Datos2 = datos[['Year','Age','nominations’,\
'rating','duration']]
print(datos2.corr())
sns.heatmap(datos2.corr(), square=True, annot=True)
Matriz de correlación

S-ar putea să vă placă și