2016-06-13 14 views
3

与えられたこのpandasシリーズ。与えられた値の最も近い値

x = pd.Series([5, 10])

私はsearchsorted使用

と、ループ回数の最も近い値を見つけるためのループ、返された何X.

for X in xrange(1, 11): 
    print X, x.searchsorted(X) 

1 [0] 
2 [0] 
3 [0] 
4 [0] 
5 [0] 
6 [1] 
7 [1] 
8 [1] 
9 [1] 
10 [1] 

これらの数字は、10

答えて

4

代わりの.searchsorted()より5に近いので、私は何を達成しようとしているが6と7のリターン[0]を持っているあなたもそのpd.Series値のindexをチェックすることができ問題の値との差がabsoluteで最小になります。

import numpy as np 
for X in range(1, 11): 
    print(X, (np.abs(x - X)).argmin()) 

1 0 
2 0 
3 0 
4 0 
5 0 
6 0 
7 0 
8 1 
9 1 
10 1 
関連する問題