python - 如何使用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
解决方案
这是一种方法
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
推荐阅读
- android - 如何在 android studio 4.0 中查看 Log.d() 命令中的文本日志
- android - 当我没有进入或离开地理围栏时如何触发某些事情
- wordpress - IE 未加载自定义字体(来自 Divi 主题的 Google 字体和图标字体)
- c# - 面临无法从
..ChromeDriver 84.0.4147.30 的管理员问题禁用了未打包扩展的加载 - r - 如何控制ggrepel段的颜色
- python - 如何在 Django Rest Framework 中记录 400 个响应的更多详细信息?
- sql-server - 如何通过拆分 SQL Server 中的字符串来插入数据
- python - 文本转语音时如何保持标点符号?
- scrapy - 因为它们只是字典,所以scrapy项目的目的是什么?
- r - 如何在存在多个组的单个直方图中绘制多条平均线?