【问题标题】:Need to locate a specific value from a dataframe based on a loc search需要根据 loc 搜索从数据框中定位特定值
【发布时间】:2020-03-23 16:25:51
【问题描述】:

我正在使用这个数据框。我需要找到一个特定的索引号,并且根据inspect_date,我需要找到最新的名称。我尝试使用以下代码,但它不起作用:

last_name= df.loc[[50096379],['INSPECT_DATE','NAME']].max()['INSPECT_DATE']['NAME']

通过使用以下内容,我得到了最新的日期,但我不知道如何获得最新的名称:

last_name= df.loc[[50096379],['INSPECT_DATE','NAME']].max()['INSPECT_DATE']

【问题讨论】:

  • 请分享所有相关代码和数据。请参阅:minimal reproducible example。如果您能解释一下您正在尝试做的事情,那也很好。

标签: python pandas max pandas-loc


【解决方案1】:

运行:df.loc[50096379].sort_values('INSPECT_DATE').iloc[-1].NAME

说明:

  • df.loc[...] - 使用此键检索所有行。
  • sort_values(...) - 按此列排序。
  • iloc[-1] - 获取最后一行。
  • NAME - 并从此行返回名称。

【讨论】:

  • 成功了!!太感谢了。你能解释一下 iloc 具体在做什么吗?
  • iloc 检索具有给定 position 的行(整数,从 0 开始)。但与 Python 中的许多其他地方一样,负值意味着“从头开始计数”。所以参数 -1 只检索最后一行。
  • 再次感谢!挣扎了最长时间!
猜你喜欢
  • 2021-01-29
  • 2022-12-09
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多