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

      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个左右,但我不确定如何在数据帧中实现月份和年份在单独的列中.我确定这将涉及apply和/或groupby,但同样,不确定如何处理.我是否需要首先创建一个包含月和年的帮助器列,然后使用它来生成所需的输出列?

EDIT所给出的解决方案确实奏效.然而,我意识到有些月份的第七个工作日会被一个月的第一周的假期所抵消,比如新年和7月4日.因此,我发布了一个新问题,寻求如何将这一事实合并到解决方案here中.

推荐答案

如果我理解正确的话,您可以用pandas.to_datetime转换为DateTime,然后用pandas.offsets.BusinessDay表示您的工作日:

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))
)

输出:

       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

Python相关问答推荐

在Google Colab中设置Llama-2出现问题-加载判断点碎片时Cell-run失败

使可滚动框架在tkinter环境中看起来自然

如何在python xsModel库中定义一个可选[December]字段,以产生受约束的SON模式

Telethon加入私有频道

如何更改分组条形图中条形图的 colored颜色 ?

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

Polars将相同的自定义函数应用于组中的多个列,

在Admin中显示从ManyToMany通过模型的筛选结果

30个非DATETIME天内的累计金额

Autocad使用pyautocad/comtypes将对象从一个图形复制到另一个图形

如何设置nan值为numpy数组多条件

操作布尔值的Series时出现索引问题

将字节序列解码为Unicode字符串

具有不匹配列的2D到3D广播

是否将Pandas 数据帧标题/标题以纯文本格式转换为字符串输出?

在MongoDB文档中仅返回数组字段

如何在Python中实现高效地支持字典和堆操作的缓存?

我如何为测试函数的参数化提供fixture 生成的数据?如果我可以的话,还有其他 Select 吗?

突出显示两幅图像之间的变化或差异区域