如何解决将一个日期与开始日期和结束日期与重复进行比较
我有以下数据样本,我需要创建一个函数,该函数将获取销售日期并将其与以下日期进行比较并返回折扣名称和百分比,但如下所示,折扣日期不是唯一的,有些时间重叠,因此如果日期属于两个不同的折扣名称,则必须根据百分比返回最高的重复折扣名称,以防销售日期属于多个。
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
我真的希望有人可以帮助我。谢谢
解决方法
这个函数应该可以解决问题
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.datetime
和 Start Date
列也是。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。