2016-08-17 22 views
0

私はDataFrameの列として与えられるいくつかの変数のPearson相関行列をかなり簡単に計算しようとしています。私はそれがナンを無視し、p値も提供したい。 scipy.stats.pearsonrは、2つの変数に対してのみ機能し、nansを考慮することができないため、不十分です。例えばScipyとのピアソン多重相関

df = pd.DataFrame([[1,2,3],[6,5,4],[1,None,9]]) 

     0 1 2 
    0 1 2.0 3 
    1 6 5.0 4 
    2 1 NaN 9 

DFの列が変数であり、行は観測されている...それよりももっと良いものがあるはずです。私は対応するp値の3x3行列と一緒に3x3相関行列を返すコマンドを望みます。私はNoneを省略したい。すなわち、[1,6,1]、[2,5、NaN]の間の相関は、[1,6]と[2,5]との間の相関でなければならない。

これを行うには素晴らしいPythonの方法が必要です。誰もお勧めできますか?

+0

:[6,5,4]を、[1、なし、9]? – cel

+0

ありがとう@cel。変数を列に、観測を行にしたい。あなたの質問に答えるために、[1,6,1]、[2,5、NaN]の間の相関関係は、[1,6]と[2,5]の間の相関関係でなければなりません。私も質問を編集しました。 – splinter

答えて

1

あなたのデータがpandas DataFrameにある場合は、単にdf.corr()を使用できます。 docsから

DataFrame.corr(method='pearson', min_periods=1)
計算NA/null値を除いた列の対相関、これら2つのベクトル間のピアソン相関は何

関連する問題