Covarianza con unas columnas.

Si tengo una matriz numpy X con X.shape=(m,n) y un segundo vector de columna y con y.shape=(m,1) , ¿cómo puedo calcular la covarianza de cada columna de X con y wihtout usando una ¿en bucle? Espero que el resultado sea de forma (m,1) o (1,m) .

Suponiendo que la salida debe tener la forma (1,n) es decir, un escalar para cada operación de covariance para cada columna de A con B y, por lo tanto, para n columnas que terminan con n tales escalares, puede usar dos enfoques aquí que utilizan la covariance formula

Enfoque # 1: con la radiodifusión

 np.sum((A - A.mean(0))*(B - B.mean(0)),0)/B.size 

Enfoque # 2: con la multiplicación de matrices

 np.dot((B - B.mean(0)).T,(A - A.mean(0)))/B.size