numpy中更快的直方图二维计算

2024-10-03 15:22:21 发布

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

我有一个代码可以计算联合分布的熵,并使用histogram2d来计算大小为20000 x 300的矩阵(如此大的数据集)的所有列的**成对**联合熵,即n*n-1/2计算

大部分时间用于计算接头数量。简单的cProfiling显示了以下代价高昂的功能:

   histogram2d ->  histogramdd -> atleast_2d -> asarray -> numpy.core.multiarray.array
       87%            85%     |       40%          38%             39%
                              |-->  digitize
                                      10 %

我想数字化是那个做了大部分工作的人。但看起来像asarray这样的其他函数占用了大量的时间!有人能指出如何使这些计算更快、更简单吗!(显然,我不是在C/C++中写直方图函数吗?)在

提前谢谢。这个问题与我之前发布的MI计算相关: Optimal way to compute pairwise mutual information using numpy


Tags: 数据函数代码core功能numpy数量时间