我有一个熊猫的数据框,它的形状是(1361445)。我试图为我的136行创建相关(Pearson)矩阵。所以在结果中,我需要一个136x136的矩阵。
我尝试了两种不同的方法,但无法从中得到结果,或者在创建136x136相关矩阵时,丢失了dataframe的列名。
首先
gene_expression = pd.read_csv('padel_all_drug_results_original.csv',dtype='unicode')
gene_expression = gene_expression.convert_objects(convert_numeric=True)
gene_expression.corr()
这给出了基于列的pearson相关矩阵(1445*1445),当我试图转置我的数据帧,然后试图找到相关性时,数据帧的结构就被破坏了(比如列名丢失,或者我甚至不确定相关性是否正确)。
其次
distance = lambda column1, column2: pearsonr(column1,column2)[0]
result = gene_expression.apply(lambda col1: gene_expression.apply(lambda col2: distance(col1, col2)))
如何计算136x136皮尔逊相关矩阵以不更改原始数据帧?
另外,我有1445个特性,有些列几乎都是零。所以我放弃了那些列,因为它们是嘈杂的列,但你有没有其他的想法,以功能重建?
提前谢谢
要获取包含所有行之间成对关联的关联矩阵,可以:
使用玩具示例:
带5个标记行和10个列:
使用
收益率
相关问题 更多 >
编程相关推荐