为了账号安全,请及时绑定邮箱和手机立即绑定

仅包含右或左的“between()”函数

仅包含右或左的“between()”函数

慕莱坞森 2022-06-14 14:55:17
我正在尝试用熊猫过滤一些日期。我最初尝试使用此代码执行此操作bd = pd.DataFrame({'year': [2018, 2018], # billing data                    'month': [9, 10],                    'day': [14, 15]})bd = pd.to_datetime(bd)month1 = (df2.Date >= bd[0]) & (df.Date < bd[1])我会收到 TypeError 的错误:无法将类型 'Timestamp' 与类型 'str' 进行比较但是,当我执行 between() 函数时bd = pd.DataFrame({'year': [2018, 2018],                    'month': [9, 10],                    'day': [14, 15]})bd = pd.to_datetime(bd)month1 = df2[df2['Date'].between(bd[0], bd[1])]它起作用了,但它会包括我不想要的 10 月 15 日。between() 函数很有用,但我现在想知道如果我只需要一侧包含,而另一侧排他,我有什么选择。感谢您的帮助。
查看完整描述

1 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

修复between很简单。您在想要“独家”的一侧减去一天。在你的情况下,它是这样的


a_day = pd.DateOffset(1)

month1 = df2[df2['Date'].between(bd[0], bd[1] - a_day)

否则,如果你真的想完全控制双方的包容性,你需要使用pd.IntervalArray或pd.IntervalIndex


查看完整回答
反对 回复 2022-06-14
  • 1 回答
  • 0 关注
  • 206 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信