【发布时间】:2016-10-24 11:15:46
【问题描述】:
我在 Pandas 中有一个数据框,它的形状是 (136, 1445)。我尝试为我的 136 行创建相关(皮尔逊)矩阵。所以结果,我需要一个大小为 136x136 的矩阵。
我尝试了两种不同的方法,但无法从中获得结果,或者当我创建 136x136 相关矩阵时,我丢失了数据框的列名。
首先,
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 pearson 相关矩阵以不改变原始数据框?
另外,我有 1445 个特征和一些几乎全为零的列。所以我删除了那些列,因为它们是嘈杂的列,但是你有另一个想法来减少特征吗?
提前致谢
【问题讨论】:
标签: python pandas correlation feature-extraction