У меня есть следующее np.array
:
my_matrix = np.array([[1,np.nan,3], [np.nan,1,2], [np.nan,1,2]])
array([[ 1., nan, 3.],
[nan, 1., 2.],
[nan, 1., 2.]])
Если я оцениваю np.cov
, я получаю:
np.cov(my_matrix)
array([[nan, nan, nan],
[nan, nan, nan],
[nan, nan, nan]])
Но если ядолжны были вычислить это с pd.DataFrame.cov
Я получаю другой результат:
pd.DataFrame(my_matrix).cov()
0 1 2
0 NaN NaN NaN
1 NaN 0.0 0.000000
2 NaN 0.0 0.333333
Я знаю, что согласно pandas
документации, они обрабатывают nan
значения.
Мой вопрос: как я могу получить такой же (или похожий результат) с numpy
?Или как обработать пропущенные данные при расчете ковариации с numpy
?