2016-12-17 104 views
0

我在xls中有非常大的数据。它的一小部分被示出在下面如何计算所有可能行之间的相关性

Name V1 V2 V3 V4 V5 
    A 2 2 2 1 2 
    Ab 10 10 9 1 10 
    AC 14 7 1 2 14 
    AD 5 1 1 1 5 
    AF 14 14 11 1 14 
    Ag 3 3 3 1 3 
    Qn 7 7 7 3 7 
    Ah 35 3 3 1 35 

欲行计算相关系数的所有可能的组合 例如,行1和行2,列1和ROW3 ...

输出I希望有这样

Name1 Name2  Correlation Coef 
A  Ab  
A  AC 
.   . 
.   . 
.   . 

我发现这一个,但我无法弄清楚如何使用它 Calculating Pearson correlation and significance in Python

该解决方案是给一个答案,但问题是,我不能让输出我想 http://lilithelina.tumblr.com/post/135265946959/data-analysis-pearson-correlation-python

回答

0

读你的数据作为大熊猫数据框(比方说,df)。致电df.T.corr().unstack().reset_index().unstack()构建分层索引,.reset_index()将其转换为列,.T将行关联到列。

results = df.T.corr().unstack().reset_index(name="corr") 
print(results) 
# level_0 level_1  corr 
#0 A1L020 A1L020 1.000000 
#1 A1L020 A1X283 0.993933 
#2 A1L020 A2A3N6 0.499363 
#3 A1L020 A2RTX5 0.408248 
#.... 
results.to_csv("some_file.csv") 
+0

增加'.unstack()'。 – DyZ

+0

刚刚做了 - 并更改了列名。 – DyZ

+0

您必须将数据另存为CSV,而不是XLS:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_excel.html – DyZ

相关问题