jinxi20111 2021-05-23 18:53 采纳率: 0%
浏览 99
已结题

Python 不会加速For循环

drug_drug_adj_list = []
tmp = np.dot(drug_gene_adj, gene_drug_adj)

for i in range(n_drugdrug_rel_types):
    mat = np.zeros((n_drugs, n_drugs))
    for d1 in range(n_drugs):
        for d2 in range(n_drugs):

        if tmp[d1, d2] == i + 4:
            mat[d1, d2] = mat[d2, d1] = 1.

    drug_drug_adj_list.append(sp.csr_matrix(mat))
drug_degrees_list = [np.array(drug_adj.sum(axis=0)).squeeze() for drug_adj in drug_drug_adj_list]


n_drugdrug_rel_type 有1400个,n_drugs也有1400个 整个循环太慢了,用jit又各种报错加速啊

可以不用jit,怎么加速这段代码?

环境:python2.7 CentOS7

  • 写回答

2条回答 默认 最新

  • 对象被抛出 2021-05-23 19:01
    关注

    想办法用hash吧, 3个for本身就太慢了

    评论

报告相同问题?