首页 > 解决方案 > 不要在 .loc[] datetimeIndex 过滤中包含下边框

问题描述

我有以下代码:

df.loc[f"{lower_border_date}":f"{upper_border_date}"]

所以我想在 datetimeIndex 上过滤我的数据框,但我不想在结果中包含 lower_border_date 匹配项。任何人都知道如何处理这个问题?谢谢!

标签: pythonpandasdataframe

解决方案


几个选项:

  1. 根据索引过滤:
df.loc[(df.index > lower_border_date) & (df.index <= upper_border_date)]

直接过滤并获取索引大于lower_border_date且小于或等于的所有索引upper_border_date

  1. 使用.drop. 在我看来不太好,但应该工作:
df.loc[f"{lower_border_date}":f"{upper_border_date}"].drop(index=lower_border_date)
  1. 您也可以使用pd.date_range, 过滤第一个日期,然后使用.loc. 这也是一个奇怪的解决方法,但这是一个选择

推荐阅读