根据年份和月份列创建每月第 7 个工作日的新列

2023-12-23

我有一个包含两列的数据框,为了简单起见,我省略了另一个变量的年份和月份。它看起来像这样:

      YearOfSRC MonthNumberOfSRC
0       2022          3
1       2022          4
2       2022          5
3       2022          6
4       2021          4
... ... ...
20528   2022          1
20529   2022          2
20530   2022          3
20531   2022          4
20532   2022          5

我想创建一个名为的新专栏PredictionDate包含该年该月的第 7 个工作日的日期,格式为YYYY-MM-DD。看来我可以做类似的事情this https://stackoverflow.com/questions/48809968/pandas-get-third-business-day-of-month,但我不确定如何在数据框中实现不同列中的月份和年份。我确信这将涉及apply and/or groupby但同样,不知道如何处理。我是否需要首先创建一个包含月份和年份的辅助列,然后使用它来生成所需的输出列?

EDIT给出的解决方案确实有效。然而,我意识到有些月份的第 7 个工作日会被该月第一周的假期所抵消,例如新年和 7 月 4 日。因此,我发布了一个新问题,寻求如何将这一事实纳入解决方案中here https://stackoverflow.com/questions/48809968/pandas-get-third-business-day-of-month.


如果我理解正确的话,你可以使用pandas.to_datetime https://pandas.pydata.org/docs/reference/api/pandas.to_datetime.html转换为日期时间,然后pandas.offsets.BusinessDay https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.tseries.offsets.BusinessDay.html获取您的工作日:

df['PredictionDate'] = (pd
 .to_datetime(df[['YearOfSRC', 'MonthNumberOfSRC']]
                .set_axis(['year' ,'month'], axis=1)
                .assign(day=1)
              )
 .sub(pd.offsets.BusinessDay(1))
 .add(pd.offsets.BusinessDay(7))
)

output:

       YearOfSRC  MonthNumberOfSRC PredictionDate
0           2022                 3     2022-03-09
1           2022                 4     2022-04-11
2           2022                 5     2022-05-10
3           2022                 6     2022-06-09
4           2021                 4     2021-04-09
20528       2022                 1     2022-01-11
20529       2022                 2     2022-02-09
20530       2022                 3     2022-03-09
20531       2022                 4     2022-04-11
20532       2022                 5     2022-05-10
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据年份和月份列创建每月第 7 个工作日的新列 的相关文章

随机推荐

  • 为什么数字 1e9999...(31 个 9)会在 R 中引起问题?

    进入时1e9999999999999999999999999999999进入 R 时 R 挂起并且不会响应 需要将其终止 这似乎发生在 3 台不同的计算机 操作系统 Windows 7 和 Ubuntu 上 它发生在 RStudio RGU
  • 没有输出时的“最新”Gradle 任务状态

    当任务不产生任何输出时 如何正确地将 Gradle 任务标记为 最新 如果上次运行成功并且输入自那时以来没有更改 则任务应保持 最新 Gradle 指南在部分之前指出15 9 2 http gradle org docs current u
  • 如何在服务总线队列触发函数中将服务总线消息移至死信

    如何通过服务总线队列触发函数将服务总线队列消息移至死信 https github com Azure azure webjobs sdk issues 1986 issuecomment 433960534 https github com
  • 如何在 .NET 中使用自定义格式 String.Format TimeSpan 对象?

    推荐的格式化方式是什么TimeSpan对象转换为具有自定义格式的字符串 请注意 此答案适用于 Net 4 0 及更高版本 如果您想在 Net 3 5 或更低版本中格式化 TimeSpan 请参阅约翰尼斯的回答 https stackover
  • 如何在rails中的表列中保留哈希值

    我对 Rails 很陌生 我有一张表 其中包含所有用户的基本信息 例如 用户 ID 姓名 电子邮件 现在我试图将这些用户的一些附加信息保存在单独的表中 例如 用户详细信息 ID 用户ID 附加信息 我创建了这个 user details 表
  • ng-repeat指令的“优先级”是什么,你能改变它吗?

    角度文档说 DOM 的编译是通过调用 compile 来执行的 方法 该方法遍历 DOM 并匹配指令 如果一个 找到匹配项 将其添加到与之关联的指令列表中 给定的 DOM 元素 一旦给定 DOM 元素的所有指令 已确定他们是按优先级排序和他
  • Apollo / GraphQL 具有不同参数的相同查询

    我将如何使用不同的参数进行 Apollo 查询 假设我的应用程序有用户的概念 我希望我的 API 能够通过 ID 或用户名查找用户 看来我做不到 type Query user id ID User user username String
  • 如何在 Objective-C 中访问 swift 5 结果枚举类型

    我在swift 5中编写了一个类方法 其参数为Result类型 现在我想在objective c中使用这个方法 可以吗 如果是 怎么办 objc public class DemoClass NSObject objc public fun
  • 如何知道给定的字符串是否是有效的 UTC 日期时间格式?

    我需要允许接受 UTC 日期时间 http www w3 org TR NOTE datetime http www w3 org TR NOTE datetime Such as Year YYYY eg 1997 Year and mo
  • Puppeteer 无法捕获失败的请求和错误

    我试图从失败的请求和 js 错误中收集数据 我正在使用以下网站 https nitzani1 wixsite com marketing automation 3rd page https nitzani1 wixsite com mark
  • 使用apache rewrite时如何隐藏URL更改?

    使用 apache 重写时如何隐藏 URL 更改 我已经在这个问题上搜索了几个小时 并决定来这里寻找答案 因此 任何帮助 线索将不胜感激 现在我正在使用 RewriteRule Page http domain com page cfm p
  • 如何使用 jQuery 以编程方式禁用页面滚动

    使用 jQuery 我想禁用正文的滚动 我的想法是 Set body overflow hidden 捕捉电流scrollTop scrollLeft 绑定到body滚动事件 将scrollTop scrollLeft设置为捕获的值 有没有
  • 使用相机拍摄,在图像视图中显示并保存到图片

    我花了一个月的时间尝试进行简单的相机捕捉 但没有成功 我正在开发的这个应用程序几个月前运行得很好 但自从我将 Android 更新到版本 7 后 该应用程序停止正常工作 我想单击一个按钮 在捕获后激活相机 内置而不是 api 以在 imag
  • 在 Twitter Bootstrap 主题之间切换?

    我正在为一个基于 Twitter Bootstrap 的客户开发一个项目 他希望有不同的配色方案供用户选择 例如 有一个红色配色方案和一个蓝色配色方案 用户可以通过顶部的菜单进行更改 是否有任何 jQuery 插件 或其他任何相关插件 可以
  • jQuery DataTables 过滤多个表

    我在一些 HTML 表中使用 jQuery DataTables 好吧 我有一个页面 其中列出了几个表 并且我必须使用相同的过滤器来过滤所有表 案例中是我定制的日期范围 所有表格都使用相同的 css 类来构造数据表并按我在的日期范围进行搜索
  • 无法将屏幕截图上传到 Google Marketplace

    在 Google Cloud Platform 中我启用了应用市场 SDK将工作表发布到 Marketplace In API 和服务 gt Apps Marketplace SDK gt 发布我无法上传屏幕截图 我不断得到未保存 看这里
  • 数组引用参数有什么用处?

    我最近发现了一些这样的代码 typedef int TenInts 10 void foo TenInts arr 你能在身体里做什么foo 这是有用的 如果声明是 void foo int arr or void foo int arr
  • 给定半径内的周边城镇列表

    是否可以获取给定半径内的周边 城镇 列表 如果可以的话 有人可以给我一些指示吗 谢谢 Google 地图不允许这样做 不过 您可以使用 geonames org 但即使他们也没有附近城镇的列表 这样做的方法似乎是 获取附近邮政编码的列表 查
  • Google Play 商店禁用取消发布

    我是一名新开发人员 我正在尝试取消发布处于 开放测试 模式的应用程序 但 取消发布 按钮被禁用 开放测试 模式有问题吗 请帮帮我 你可以试试这个 打开发布概述选项卡 If Managed Publishing turned on turn
  • 根据年份和月份列创建每月第 7 个工作日的新列

    我有一个包含两列的数据框 为了简单起见 我省略了另一个变量的年份和月份 它看起来像这样 YearOfSRC MonthNumberOfSRC 0 2022 3 1 2022 4 2 2022 5 3 2022 6 4 2021 4 2052