#Importamos numpy - Librería para cálculos numéricos
import numpy as np
# Creamos 100 datos entre 1 y 0 divididos uniformemente y los almacenamos en X
X = np.linspace(1,10,100)
# Observamos los datos
X
# Sacamos otro conjunto pero ahora de forma aleatoria y lo almacenamos en Y
Y = np.random.random(100)
# Visualizamos datos
Y
## Ahora veamos un gráfico de dispersión entre las variables
# Importamos librería de visualización
import matplotlib.pyplot as plt
## Graficamos
# Ponemos el fondo de la imagen blanco
plt.figure(facecolor='w')
# Gráfica
plt.scatter(X,Y)
# Ponemos estiquetas y título
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Gráfico de Dispersión entre X y Y', fontdict={'size':15});
# Calculamos la correlación con la función por defecto de numpy
# Retorna la matriz de correlación
np.corrcoef(X,Y)
# Creamos dos variables que almacenen los conjuntos de datos menos sus respectivas medias
Xm=X-X.mean()
Ym=Y-Y.mean()
# Calculamos el numerador
numerador = (Xm*Ym).sum()
# Sacamos la longitud de X y Y (sumamos el cuadrado de sus componentes y a ese resultado le sacamos raíz cuadrada)
X_lon = np.sqrt((Xm*Xm).sum())
Y_lon = np.sqrt((Ym*Ym).sum())
# Hacemos la operación del numerados entre el producto de las longitudes
numerador/(X_lon*Y_lon)