Sei sulla pagina 1di 29

Análisis de Datos

con
Python
• Presentación
• Conceptos Basicos
• Revisión de ambientes (Jupyter Notebook)
• Numpy
• Pandas
AGENDA • Dataframes
Presentación

• Ingeniero en Informatica (Universidad Centroccidental Lisandro Alvarado –


Venezuela) con experiencia en gestión de la información y Analytics.
• Data Engineer Senior en Belcorp (Perú).

• Lider de Analytics y BI en CXO Corporation (Canadá).


• Capacitador de Python y Metodologías ágiles.
• Participación directa en proyectos transformacionales de información
(DataWarehouse & Big Data) usando Scrum.
• Cofundador de la CoP Data Engineering – Belcorp.
Conceptos Básicos

“Analytics puede ser definido como el proceso que abarca el uso de


Técnicas estadísticas, sistemas de información e investigación de
operaciones para explorar, visualizar, descubrir y comunicar patrones y
tendencias en la data. Analytics puede convertir data en información útil”
Conceptos Básicos

Descriptiva Predictiva Prescriptiva


Identificar posibles tendencias en Desarrollar modelos predictivos para Colocar los recursos de manera
grandes bases de datos. El objetivo es identificar y predecir patrones a optima para tomar ventaja de la
obtener un resumen general de la futuro. predicción de patrones o escenarios
data y criterios que puedan permitir futuros.
identificar tendencias y patrones.

• Estadística Descriptiva, • Analisis Multivadiado, • Métodos de investigación de


• gráficos, • Data Mining, Operaciones.
• distribuciones de frecuencia, • Modelamiento predictivo.
• probabilidades
• y métodos de muestreo.
Conceptos Básicos
“Python es un lenguaje de programación que nos permite trabajar rápidamente
y lograr la integración de los sistemas. ”
Es open source, Wene mulW propósitos, los más resaltantes:
• Web and Internet Development Database Access
• Desktop GUIs
• ScienWfic & Numeric EducaWon
• Network Programming
• So^ware & Game Development
• En nuestro curso lo usaremos con finalidad cien_fica y numérica.
Revisión de Ambiente

https://www.anaconda.com/distribution/
Revisión de Ambiente

https://www.anaconda.com/distribution/
Revisión de Ambiente

https://www.anaconda.com/distribution/
Revisión de Ambiente

https://www.anaconda.com/distribution/
Comandos Básicos
Revisión de Ambiente

https://www.anaconda.com/distribution/
Verificación de Versiones
import sys
print('Python version:', sys.version)

import IPython
print('IPython:', IPython.__version__)

import numpy
print('numpy', numpy.__version__)

import pandas
print('pandas', pandas.__version__)
Numpy
Arrays con Numpy

Array es una matriz unidimensional.

En Python la estructura de datos por defecto son las listas. Sin embargo, las listas no soportan
operaciones matemá=cas avanzadas, no está op=mizado para hacerlo.

NumPy = Paquete de Python creado por Travis Oliphant con propósitos cienBficos.
Array en NumPy consume menos memoria y por ende es más rápido que una lista de Python.

Para la creación de un Array en Python


1. Necesitamos importar la librería:
import numpy as np

2. Creamos el array en Python:


n_array = np.array([[0, 1, 2, 3],[4, 5, 6, 7],[8, 9, 10, 11]])
Arrays con Numpy

Un Array en Python -ene los siguientes atributos:


• ndim: nos da el número de dimensiones del array.
n_array.ndim
• shape: nos da el tamaño de cada dimensión.
n_array.shape
• size: nos da el número de elementos.
n_array.size
• dtype: nos da el Epo de los datos en el array.
n_array.dtype.name
Código Fuente
import numpy as np
n_array = np.array([[0, 1, 2, 3],[4, 5, 6, 7],[8, 9, 10, 11]])

n_array.ndim

n_array.shape

n_array.size

n_array.dtype.name
Operaciones Matemáticas con Numpy

• Restas de arrays.
a = np.array( [11, 12, 13, 14])
b = np.array( [ 1, 2, 3, 4])
c=a-b
c
• Potencia de arrays.
b**2
• Funciones sobre los arrays.
np.cos(b)
• Mul@plicación de matrices
A1 = np.array([[1, 1],[0, 1]]) / A2 = np.array([[2, 0],[3, 4]]) A1*A2
np.dot(A1,A2)
Indexing and Slicing

Si deseamos seleccionar un elemento en par-cular de un array:


• Seleccionamos la fila 1 y la columna 2.
n_array[0,1]
• Seleccionamos la fila 1 y las 3 primeras columnas.
n_array[ 0 , 0:3 ]
• Seleccionamos la fila 1 y todas las columnas.
n_array[ 0 , : ]
• Seleccionamos todas las filas y la columna 2.
n_array[ : , 1 ]
Dimensiones de un Array

Podemos modificar las dimensiones de un array una vez creado


• Modificamos la dimensionalidad de un array llevándolo de dimensión
1xN.
n_array.ravel()
• Modificamos la dimensionalidad del array llevándola a 6 filas x 2
columnas.
n_array.shape = (6,2)
• Transpuesta de un array.
n_array.transpose()
Código Fuente
a = np.array( [11, 12, 13, 14])
b = np.array( [ 1, 2, 3, 4])
c=a-b
c

b**2

np.cos(b)

A1 = np.array([[1, 1],[0, 1]]) / A2 = np.array([[2, 0],[3, 4]]) A1*A2


np.dot(A1,A2)
Código Fuente
n_array[0,1]
n_array[ 0 , 0:3 ]
n_array[ 0 , : ]
n_array[ : , 1 ]

n_array.ravel()
n_array.shape = (6,2)
n_array.transpose()
Pandas
Análisis de Datos con Pandas

Desarrollado por Wes Mckinny cuando trabajaba en AQR Capital Management. Deseaba una
herramienta lo suficientemente flexible para hacer análisis cuanBtaBvos en datos financieros.
Más adelante se le unió Chang She a seguir desarrollando el paquete.

La librería Pandas desarrollada para el análisis. Fue desarrollada en NumPy.

La librería Pandas trae la riqueza de R al mundo de Python. Tiene eficiente estructuras de


datos para procesar los datos, unir datos y leerlos de varias fuentes.

Las estructuras de Pandas:


• Series
• DataFrame
• Panel
Series

Las series son un array de una dimensión, pueden almacenar cualquier


-po de datos como valores discretos, con-nuos, cadenas y objetos
Python.
• Importar la librería Pandas desde Python.
import pandas as pd
• Creación de una serie a parEr de 5 números aleatorios.
pd.Series(np.random.randn(5)) pd.Series(np.random.randn(5),
index=['a', 'b', 'c', 'd', 'e'])
Data Frames

Es una estructura de datos de 2 dimensiones de distinto tipos de datos,


un data frame puede venir de las siguientes estructuras de datos:
NumPy Array, Listas, Diccionarios, Series, 2D NumPyArray.
• Data Frames que provienen de diccionarios de series.
d = {'c1': pd.Series(['A', 'B', 'C']),'c2': pd.Series([1, 2., 3., 4.])}
df = pd.DataFrame(d)
• Data Frames que provienen de diccionarios de listas.
d = {'c1': ['A', 'B', 'C', 'D'],'c2': [1, 2.0, 3.0, 4.0]} df = pd.DataFrame(d)
Código Fuente
import pandas as pd
pd.Series(np.random.randn(5)) pd.Series(np.random.randn(5), index=['a', 'b', 'c',
'd', 'e'])

d = {'c1': pd.Series(['A', 'B', 'C']),'c2': pd.Series([1, 2., 3., 4.])}


df = pd.DataFrame(d)

d = {'Item1': pd.DataFrame(np.random.randn(4, 3)), 'Item2':


pd.DataFrame(np.random.randn(4, 2))}

pd.Panel(d)
Actividad Práctica

Potrebbero piacerti anche