如何在熊猫中查找与给定浮点数值最接近的行



>假设我有以下数据帧:

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

最新更新