Вы можете попробовать np.ma.corrcoef
с np.ma.masked_invalid
c_ret = np.array([[ 1., 2., 3., 4., 5., 6.],
[np.nan, np.nan, np.nan, 4., 5., 6.],
[ 1., 2., 3., 4., 5., 6.],
[ 1., 2., 3., 4., 5., 6.],
[np.nan, np.nan, np.nan, np.nan, 5., 6.],
[ 1., 2., 3., 4., 5., 6.]])
np.ma.corrcoef(np.ma.masked_invalid(c_ret), rowvar=True).data
Out[293]:
array([[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.],
[1., 1., 1., 1., 1., 1.]])