【问题标题】:Determine if a value exists between two time points in Pandas确定 Pandas 中两个时间点之间是否存在值
【发布时间】:2021-04-22 18:07:12
【问题描述】:

我有一个数据框blinded_SMBG_DF,其葡萄糖值blinded_SMBG_DF.Glucose 和时间戳为index。我需要一段代码来检查两个时间戳之间是否有条目,如果有则报告“是”,如果没有则报告“否”。

我尝试了以下方法:

if 0.1 <= blinded_SMBG_DF.Glucose.loc['2021-01-08 08:30:00' : '2021-01-08 09:00:00'][0] <= 100:
    print("yes")
else:
    print("no")

当该范围内有一个值时它会起作用并打印“是”,但如果 df 中没有具有该值的值,则会报告错误。我该如何更改它,而不是报告错误,而只是报告“否”或 NaN 或类似的东西?

非常感谢。

【问题讨论】:

  • 您在寻找pandas.Series.between_time吗?
  • 有点,但我不想找到时间点之间的值,我只想知道是否存在。 .between_time 的问题在于,如果该值不存在,则会出现错误。我基本上只需要这些点之间是否存在值的布尔值。非常感谢。

标签: pandas dataframe datetime


【解决方案1】:

答案是使用 .count()

    if df.Glucose.loc[start : end].count() >= 1:
        print("yes")
    else:
        print("no")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 2020-11-03
    • 1970-01-01
    • 2013-01-19
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2020-06-19
    相关资源
    最近更新 更多