Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpy中更快的histogram2d计算_Python_Numpy_Histogram2d - Fatal编程技术网

Python numpy中更快的histogram2d计算

Python numpy中更快的histogram2d计算,python,numpy,histogram2d,Python,Numpy,Histogram2d,我有一个计算联合分布熵的代码,我正在使用histogram2d计算大小为20000 x 300的矩阵(以及如此大的数据集)所有列的**成对**联合熵,即n*n-1/2计算 大部分时间用于计算关节计数。简单的cProfiling显示了以下代价高昂的功能: histogram2d -> histogramdd -> atleast_2d -> asarray -> numpy.core.multiarray.array 87% 85

我有一个计算联合分布熵的代码,我正在使用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 %
我认为np.Digitalize是做大部分计数工作的那个。但似乎很多时间都被其他函数占用了,比如asarray!有人能指出如何以更简单的方式使这些计算更快吗!(也就是说,显然没有指示我用C/C++编写直方图函数)

提前谢谢。这个问题与我之前发布的MI计算相关:

这只是猜测,但您的输入似乎不是histogram2d所期望的格式,因此需要进行转换才能使用。如果您查看调用
中的源代码,至少\u 2d
作为副本发生,除非它与预期的形状不匹配。谢谢@Hooked。。我去看看。因为它只传递向量和矩阵。我可以做些什么来确保数据类型?我们帮助您的最好方法是发布一个显示您的问题的最小工作示例。如果它是一个数据类型问题,我们无法用这里给出的信息来诊断它。谢谢@Hooked。我在这里发布了一条: