2012-02-16 14 views
16

与えられたnumpy配列に対して、numpy.max(a) - numpy.min(a)の最大最小値を与えるnumpy関数がありますか?numpy max min関数はありますか?

numpy.xxx([4,3,2, 6] = 4 since max = 6, min = 2, 6 - 4 = 2) 

理由:パフォーマンスが向上するのは、最大値と最小値がアレイの2倍の反復(私の場合は750万以上の数値)を引き起こすためです。

答えて

28

実際には、このような機能があります。これは、「peak to peak」のためにnumpy.ptp()と呼ばれています。

+7

+1 ... numpyは、関数名を30文字に拡張する必要があります。ここに答えるほうがはるかに速くなるでしょう... – eumiro

+0

ありがとう...私は本当にそれを見つけることができませんでしたが、私は近づいていた(peaktopeakと他の人を見て)。 –

+0

内部的に 'ptp'関数は、最小値と最大値を別々に計算します。したがって、この解決法はまだ配列を2回反復します。詳細については、[the ptp source code](https://github.com/numpy/numpy/blob/e7fe68ad3ce7f91cb152df49115f353ba9d75789/numpy/core/src/multiarray/calculation.c#L308)を参照してください。 – jochen

関連する問題