我的数据集范围从 1989-1-03 至今。它看起来像这样。我有 R 列,其中某些点的日期与数据帧的索引相匹配。
Index R
1989-01-24 NaT
1989-01-25 NaT
1989-01-26 NaT
1989-01-27 NaT
1989-01-30 NaT
1989-01-31 NaT
1989-02-01 1989-02-01
1989-02-02 NaT
1989-02-03 NaT
我想从 R 列中查找非 NaT 的行,从中减去一个月,找到该月第一个工作日的值,然后存储到 DataFrame 中的新列 RI 中。
最终数据框应如下所示:
Index R RI
1989-01-02 NaT 1989-01-02
----
1989-02-01 1989-02-01 NaT
1989-02-02 NaT NaT
1989-02-03 NaT NaT
有人可以帮助我吗?我在日期时间处理方面真的很弱。
最佳答案
您特别询问了 pandas 数据框,因此您应该查看 pandas Business Date Range功能。
其中一个解决方案是:
import pandas as pd
pd.bdate_range(start='2017-07-01',periods=1)[0]
# returns Timestamp('2017-07-03 00:00:00', freq='B')
关于python - 在 panda DataFrame 列中获取上个月的第一个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44972484/