有效地更新得分矩阵中的值

2024-04-26 04:22:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在计算相关矩阵,每次都是随机排列基础数据的顺序。当随机数据的相关分数大于或等于有序数据确定的原始相关性时,我想用+1更新评分矩阵中的相应单元格。(评分矩阵中所有单元格均以零开始)。你知道吗

由于我正在处理的矩阵的大小,我想找出一种有效的方法。到目前为止,我所做的工作效率低下,而且耗时太长。我想知道是否有矩阵操作风格的方法来解决这个问题,而不是像我目前正在做的那样迭代:

for i, j in product(data_sorted.index, data_sorted.columns):

    # if random correlation is as good as or better than sorted correlation
    if data_random.loc[i, j] >= data_sorted.loc[i, j]:

        # update scoring matrix
        scoring_matrix[sorted_index_list.index(i)][sorted_column_list.index(j)] += 1

我粗略地计算了这个方法的时间,发现对我的矩阵中的一行执行这个操作大约需要4.2秒,这看起来有些过分。你知道吗

任何帮助他都会非常感激。你知道吗


Tags: 数据方法dataindexifas矩阵random
1条回答
网友
1楼 · 发布于 2024-04-26 04:22:46

假设所有的东西都有相同的索引,这应该像预期的那样工作,而且非常快。你知道吗

scoring_matrix += (data_random >= data_sorted).astype(int)

相关问题 更多 >