Closed
Description
There are several issues with _flex_binary_moment().
A. When pairwise=True, it doesn't properly handle two DataFrames with different index sets. In the following example, I believe [6], [7], and [8] should all produce the result in [9].
In [1]: from pandas import DataFrame, expanding_corr
In [2]: df1 = DataFrame([[1,2], [3, 2], [3,4]], columns=['A','B'])
In [3]: df1a = DataFrame([[1,2], [3,4]], columns=['A','B'], index=[0,2])
In [4]: df2 = DataFrame([[5,6], [None,None], [2,1]], columns=['X','Y'])
In [5]: df2a = DataFrame([[5,6], [2,1]], columns=['X','Y'], index=[0,2])
In [6]: expanding_corr(df1, df2, pairwise=True)[2]
Out[6]:
X Y
A -1.224745 -1.224745
B -1.224745 -1.224745
In [7]: expanding_corr(df1, df2a, pairwise=True)[2]
Out[7]:
X Y
A NaN NaN
B NaN NaN
In [8]: expanding_corr(df1a, df2, pairwise=True)[2]
Out[8]:
X Y
A NaN NaN
B NaN NaN
In [9]: expanding_corr(df1a, df2a, pairwise=True)[2]
Out[9]:
X Y
A -1 -1
B -1 -1