微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将一个日期与开始日期和结束日期与重复进行比较

如何解决将一个日期与开始日期和结束日期与重复进行比较

我有以下数据样本,我需要创建一个函数,该函数获取销售日期并将其与以下日期进行比较并返回折扣名称和百分比,但如下所示,折扣日期不是唯一的,有些时间重叠,因此如果日期属于两个不同的折扣名称,则必须根据百分比返回最高的重复折扣名称,以防销售日期属于多个。

discount Name   Start Date  End Date    Percentage
0   First   2020-07-24  2020-11-25  0.10
1   First   2020-09-13  2020-10-29  0.10
2   First   2020-12-07  2020-12-10  0.10
3   First   2020-12-28  2021-01-19  0.10
4   First   2020-06-14  2020-06-14  0.10
5   Second  2020-06-16  2020-06-18  0.15
6   Second  2020-06-21  2020-06-22  0.15
7   Second  2020-06-22  2020-06-23  0.15
8   Second  2020-07-07  2020-07-08  0.15
9   Third   2020-06-02  2020-06-12  0.20
10  Third   2020-05-19  2020-06-01  0.20
11  Third   2020-05-06  2020-05-17  0.20
12  Third   2020-04-30  2020-05-03  0.20

Screen Shot of Dataframe

我真的希望有人可以帮助我。谢谢

解决方法

这个函数应该可以解决问题

http://database-server

def discout_rate(df,sales_date): return df[(df['Start Date'] <= sales_date) & (df['End Date'] >= sales_date)]['Percentage'].max() 应该是 sales_date 类型,datetime.datetimeStart Date 列也是。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。