首页 > 解决方案 > 如何使用python在合同终止前找出客户的计费日期?

问题描述

我有几个客户每月 25 号收到账单。我想知道他们的合同终止前的最后一个账单日期。以下是数据框中的示例:

> data = [['Arthur','2019-03-01'],['Bart','2019-02-26'],['Cindy','2019-02-18'],['Douglas','2019-03-31']]

> df = pd.DataFrame(data, columns = ['Name','Termination Date'])  
> df

此外,以下是预期的输出:

> df['Last Billing Date'] =['2019-02-25','2019-02-25','2019-01-25','2019-03-25'] 
> df

标签: pythonpandasdate

解决方案


这是一种方法

s=df['Termination Date'].apply(lambda x : x.replace(day=25))
df['New']=np.where(df['Termination Date']>=s,s,s-pd.DateOffset(months=1))

df
      Name Termination Date        New
0   Arthur       2019-03-01 2019-02-25
1     Bart       2019-02-26 2019-02-25
2    Cindy       2019-02-18 2019-01-25
3  Douglas       2019-03-31 2019-03-25

推荐阅读