2013-08-27 46 views
5

这是我在编写样本熵的Python代码时遇到的问题。需要更快的Python代码来计算样本熵

map(max, abs(a[i]-a))很慢。

有没有其他功能比map()更好?

哪里a是ndarray看起来像np.array([ [1,2,3,4,5],[2,3,4,5,6],[3,4,5,3,2] ])

+1

什么'这里了'?这是Python 2.x还是3.x('map()'在两者中都不相同)? – arshajii

+0

你有没有试过'导入速度'?不过,严肃地说,“a”是什么样的,什么是需要的输出? – inspectorG4dget

+0

是'a' numpy.ndarray'吗? (你可以检查这个'type(a)')... –

回答

6

使用矢量最大

>>> map(max, abs(a[2]-a)) 
[3, 4, 0] 
>>> np.abs(a[2] - a).max(axis=1) 
array([3, 4, 0]) 
+0

非常感谢! –