Я хотел бы получить pearson r между x1 и каждым из трех столбцов y, эффективным образом.pd.corrwith на pandas dataframes с разными именами столбцов
Похоже, что pd.corrwith() может вычислять это только для столбцов, которые имеют одинаковые метки столбцов, например. x и y.
Это кажется немного непрактичным, поскольку я предполагаю, что вычисление корреляций между различными переменными будет обычной проблемой.
In [1]: import pandas as pd; import numpy as np
In [2]: x = pd.DataFrame(np.random.randn(5,3),columns=['A','B','C'])
In [3]: y = pd.DataFrame(np.random.randn(5,3),columns=['A','B','C'])
In [4]: x1 = pd.DataFrame(x.ix[:,0])
In [5]: x.corrwith(y)
Out[5]:
A -0.752631
B -0.525705
C 0.516071
dtype: float64
In [6]: x1.corrwith(y)
Out[6]:
A -0.752631
B NaN
C NaN
dtype: float64