python - Pandas 添加基于日期的列分组
问题描述
我正在尝试添加一个列,在接下来的 1、2、3、4 周内用结束日期标记这些行项目,但使用下面的代码只是覆盖了自身(这是有道理的)。有没有简单的方法来添加这个分组?
本质上,在 Excel 术语中,我正在尝试执行嵌入式 IF 语句(IF Date < TODAY() , X , IF Date < TODAY() + 7, Y, IF ...)
sup['Availability'] = sup['End Date'].apply(lambda x: ' Now Available' if x < date.today() else sup['End Date'])
sup['Availability'] = sup['End Date'].apply(lambda x: '1 Week' if x < date.today() + timedelta(weeks=1) else sup['First Available Date'])
sup['Availability'] = sup['End Date'].apply(lambda x: '2 Week' if x < date.today() + timedelta(weeks=2) else sup['First Available Date'])
sup['Availability'] = sup['End Date'].apply(lambda x: '3 Week' if x < date.today() + timedelta(weeks=3) else '4 Weeks')
解决方案
推荐阅读
- pandas - 来自 Pandas 的 MonthBegin() 有什么作用?
- typescript - fp-ts:如何组合多个 Option 生产者?
- excel - Excel 电源查询。按模板列表运行多个查询以连接不同文件中的表
- pandas - 有条件地在多列上设置值
- ruby-on-rails - rails s 和 DBeaver 上的 PG::ConnectionBad (FATAL: password authentication failed for user )
- php - 使用 PHP exec 执行 Minecraft 命令
- spring-boot - 简化 Spring Reactor 流 - 检查至少一个条件是否为真,然后继续
- vb.net - Web请求vb.net中的“try-catch”问题
- sql - Oracle Apex 更新表的特定行
- octave - 在Matlab中,变量后面有一个点这个表达式是什么意思?