>假设我有以下数据帧:
col1 col2
0 0 0.53
1 1 0.52
如何找到col2
值最接近的行的col1
值和col2
值,例如0.6
? 对于给定的示例,期望的结果是:
closest_col1 = 0
closest_col2 = 0.53
使用df.loc[(df.col2 - 0.6).abs().idxmin()]
会给你你想要的行
您可以使用 idxmin:
closest_index = (data.col1 - data.col2).abs().idxmin()
print(data.loc[closest_index, :])
以下方法应该可以解决问题:
closest_row = df.iloc[(df['col2'] - 0.6).abs().argsort()[:1]]
closest_col1 = closest_row[0][0]
closest_col2 = closest_row[0][1]
现在:
>> print(closest_col1)
>> print(closest_col2)
>> 0
>> 0.53