我有下面的df
doc_date date_string
2019-06-03 WW0306
2019-06-07 EH0706
doc_date
是datetime64
格式的year-month-day
date_string
是字符串dtype
,如果删除了非数字字符,则为day/month
或month/day
格式
df['date_string'].str.replace(r'\D+', '')
如何将date_string
转换成datetime64
,如果date_string
在doc_date
的+/-180天内,而不考虑它没有转换成的年份和任何日期格式,则将标志within_180
设置为true
df['within_180'] = df.apply(lambda x: x.between(x.doc_date -
Timedelta(180, unit='d'),
x.doc_date +
Timedelta(180, unit='d')))
结果应该是
doc_date date_string within_180
2019-06-03 WW0306 true
2019-06-07 EH0706 true
IIUC,将} 访问这两列的一年中的日期,并与^{} 进行比较:
date_string
列转换为replace
之后的日期时间,并使用^{相关问题 更多 >
编程相关推荐