鉴于此熊猫系列。
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]
我想要实现的目标是让6和7返回[0]
因为这些数字接近5而不是10。
答案 0 :(得分:4)
除了.searchsorted()
,您还可以检查index
值的pd.Series
,以最大限度地减少与相关值的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