【问题标题】:How to get the nearest matching value in Pandas?如何在 Pandas 中获得最近的匹配值?
【发布时间】:2022-08-18 15:25:16
【问题描述】:

我有一张桌子:

Index Month_1
01 12
02 09

获取月份的用户输入。用户输入 11。

我们如何将用户输入的月份与最近的月份相匹配?

在这种情况下,输出应该是:

Index Month_1
01 12

逻辑:用户给出的月份是 11。表中存在的附近月份是 12。所以输出是 12(如上所示的表格格式)。

    标签: python pandas


    【解决方案1】:

    减去值,获取绝对值,然后获取最小值的位置,最后选择行,一行 DataFrame 有双 []

    a = 11
    df = df.iloc[[df['Month_1'].sub(a).abs().argmin()]]
    print (df)
      Index  Month_1
    0    01       12
    

    【讨论】:

      猜你喜欢
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 1970-01-01
      • 2011-06-04
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多