2016-05-20 5 views
2

私のコードnumpyで最大値のインデックスを取得する方法ですが、しきい値はありますか?

import numpy as np 
from numpy import loadtxt 

s = loadtxt("sest.txt", delimiter=" ", unpack=False) 
b = loadtxt("base.txt", delimiter=" ", unpack=False) 
d=b-s 
e = np.absolute(d) 
me = e.argsort()[-100:][::-1] 
print me 

私は2.5次に大きいD内のすべての要素を指定したい?だから、100や200がそこにある場合、私は気にしない

[400600 401600 399600 400601 401601 399601 401599 400599 399599 399602 
401602 400602 399598 401598 400598 400603 401603 399603 401597 399597 
401604 400597 399604 400604 400605 399605 401605 401596 399596 400596 
399606 401606 400606 399595 401595 400595 399607 401607 400607 400608 
400594 401608 399608 401594 399594 400609 401609 399609 401593 400593 
399593 401610 400610 399610 400592 401592 399592 399611 400611 401611 
399591 401612 401591 400612 400591 399612 399613 401613 400613 399590 
400590 401590 400614 399614 401614 399589 400589 401589 401615 399615 
400615 401616 399616 400616 400588 399588 401588 400617 401617 399617 
401587 400587 399587 400618 399618 401618 399586 400586 401586 400619] 

作品fine.Butを得ましたargsortを拡張することは可能でしょうか?

答えて

3

特定のしきい値以上の配列要素を探しているだけの場合は、x [x> a]を使用できます。ここで、aはしきい値です。説明のために、ipythonを使用して後で編集します。 「x」は、いくつかの列挙型配列であると仮定しよう。

In [9]: x=np.random.rand(1,10) # an array with random elements 

    In [10]: print x[x>0.6] # select elements above 0.6 
    [ 0.71733906 0.74028607 0.66293195 0.86649922 0.7423685 0.71807904 
    0.8215429 ] 

    In [11]: print x 
    [[ 0.36655557 0.71733906 0.74028607 0.66293195 0.86649922 0.21478604 
    0.7423685 0.71807904 0.30482062 0.8215429 ]] 
関連する問題