如何使用python在列中提供的两个日期之间提取一个日期

2024-10-04 09:18:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一行叫做period,它是一周中的一系列日期。这段时间如下所示:

: 19 Oct to 25 Okt 2019

我只需要将第二个日期提取到一个单独的列中,称为“event_date”,因此我预计2019年的25 Okt将出现在我的event_date列中

到目前为止,我所做的是将period创建为新变量,并尝试将其拆分如下:

period = : 19 Oct to 25 Okt 2019
dt, _ = periode.split(' to ')
fmt = "%y%m%d"
date = datetime.strptime(dt, fmt)
df['event_date'] = date

但它没有起作用。我如何用python制作它

谢谢


Tags: toeventdfdatetimedatedtoctperiod
2条回答

让我们尝试使用regex替换:和字符between Oct and 2019,并将结果转换为datetime

Data

print(df)
                   periode
0  : 19 Oct to 25 Okt 2019

df['event_date'] =pd.to_datetime(df['periode']\
.str.replace('(\:\s|\s\D{2}\s\d{2}\s\D{3})',''))

    periode                 event_date
0  : 19 Oct to 25 Okt 2019  2019-10-19

我对去年导入的拼写+进行了一些更正:

period = '19 Oct to 25 Okt 2019'
dt, _ = period.split(' to ') 
dt = dt + ' ' + period[-4:]
fmt = "%d %b %Y"
date = datetime.strptime(dt, fmt)
df['event_date'] = date

相关问题 更多 >