Python 如何获取数据帧中最近数字的位置

Python 如何获取数据帧中最近数字的位置,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,我有以下数据帧 0 0 5 1 10 2 15 3 20 我想得到接近n值的值的位置。例如:如果n=7,则最近的数字是5。 在返回位置5之后,即[0][0]使用numpy.argmin获取最接近的数字索引: df[1] = 7 df[2] = df[1] - df[0] df[2] = df[2].abs() print(np.argmin(df[2])) 使用和: [外] 如果有比这个数字更接近的呢?还有,如果完全一样呢?另外,您采取了哪些步骤来解决此问题?是的,如

我有以下数据帧

    0
0   5
1   10
2   15
3   20
我想得到接近n值的值的位置。例如:如果n=7,则最近的数字是5
在返回位置5之后,即[0][0]

使用numpy.argmin获取最接近的数字索引:

df[1] = 7
df[2] = df[1] - df[0]
df[2] = df[2].abs()
print(np.argmin(df[2]))
使用和:

[外]


如果有比这个数字更接近的呢?还有,如果完全一样呢?另外,您采取了哪些步骤来解决此问题?是的,如果n=5或6。最近的号码必须是“谢谢”的5个可能的副本,但返回地点呢?
# Setup
df = pd.DataFrame({0: {0: 5, 1: 10, 2: 15, 3: 20}})
n = 7

(n - df[0]).abs().idxmin()
0