Python 替换数据框列中大于参考日期的日期
我有一个数据框Python 替换数据框列中大于参考日期的日期,python,pandas,Python,Pandas,我有一个数据框df,它有日期,看起来像: DATE_OF_ENTRY 0 24/02/2019 1 01/08/2003 2 05/11/2002 3 03/02/2003 4 04/08/2003 5 05/02/2003 6 30/06/2003 7 01/03/2004 8 17/09/2001 我还有一个名为referencePeriodEndDate的参考日期变量,它当前等于'31/03/2019' 如果列中的日期大于参考日期
df
,它有日期,看起来像:
DATE_OF_ENTRY
0 24/02/2019
1 01/08/2003
2 05/11/2002
3 03/02/2003
4 04/08/2003
5 05/02/2003
6 30/06/2003
7 01/03/2004
8 17/09/2001
我还有一个名为referencePeriodEndDate
的参考日期变量,它当前等于'31/03/2019'
如果列中的日期大于参考日期,我尝试将“日期”输入列中的任何日期更改为“未知”。在上面的例子中,我将返回:
DATE_OF_ENTRY
0 NOT KNOWN
1 01/08/2003
2 05/11/2002
3 03/02/2003
4 04/08/2003
5 05/02/2003
6 30/06/2003
7 01/03/2004
8 17/09/2001
dataframe列和引用数据的类型如下:
referencePeriodEndDate = type <class 'str'>
DATE_OF_ENTRY = type object
及
没有成功 使用pd.to\u datetime()
referencePeriodEndDate=pd.to_datetime('2019年3月31日')
df['DATE\u OF_ENTRY']=pd.to\u datetime(df['DATE\u OF_ENTRY'])
df['DATE\u OF_ENTRY']=df['DATE\u OF_ENTRY']。其中(
df[“录入日期”]
referencePeriodEndDate = parser.parse(referencePeriodEndDate)
referencePeriodEndDate = referencePeriodEndDate.strftime('%d/%m/%Y')
df["DATE_OF_ENTRY"].loc[
df["DATE_OF_ENTRY"] > referencePeriodEndDate,
'DATE_OF_ENTRY'
] = 'NOT KNOWN'
df["DATE_OF_ENTRY"] = np.where(
df["DATE_OF_ENTRY"] > referencePeriodEndDate,
"NOT KNOWN", df["DATE_OF_ENTRY"]
)
referencePeriodEndDate = pd.to_datetime('31/03/2019')
df['DATE_OF_ENTRY'] = pd.to_datetime(df['DATE_OF_ENTRY'])
df['DATE_OF_ENTRY'] = df['DATE_OF_ENTRY'].where(
df['DATE_OF_ENTRY'] <= referencePeriodEndDate, 'NOT KNOWN'
)