python - 在 python 中获取 6 周后的星期一
问题描述
假设我有一个这样的数据框,
ID Start Date
1 4/15/19
2 4/15/19
3 4/15/19
4 4/22/19
5 4/22/19
6 5/8/19
7 5/15/19
如何在 6 周后生成一个新列以获取星期一?
我知道如何使用df['Next Month'] = df['Start Date'] + pd.DateOffset(days=30)
然后你可以在一个月后有一列日期。
我的最终输出将是,
ID Start Date After 6 weeks
1 4/15/19 5/27/19
2 4/15/19 5/27/19
3 4/15/19 5/27/19
4 4/22/19 6/3/19
5 4/22/19 6/3/19
6 5/8/19 6/17/19
7 5/15/19 6/24/19
解决方案
IIUC
df['Start Date']=pd.to_datetime(df['Start Date'])
df['Start'] - pd.to_timedelta(arg=df['Start'].dt.weekday, unit='D')+pd.tseries.offsets.DateOffset(days=6*7)
Out[117]:
0 2019-05-27
1 2019-05-27
2 2019-05-27
3 2019-06-03
4 2019-06-03
5 2019-06-17
6 2019-06-24
Name: Start, dtype: datetime64[ns]
推荐阅读
- python - django注释是否存在
- python - forcing a creation of 1d numpy array from a list/array of possibly iterable objects
- android - 开始任何新活动时出现 ClassNotFoundException
- bash - 参数扩展默认值为空数组
- python - 在 Django REST 框架中重构视图
- regex - 正则表达式在循环内匹配 Google 脚本?
- ionic-framework - Ionic 4 操作表:访问其他组件中的返回值
- spacy - spaCy 是否支持命名实体识别的自定义类型?
- excel - 如何修复我的代码以将其应用于所有工作表?
- python - 在“tbody”中仅打印一个“tr”标签 - Beautifulsoup