Pandas以%Y%m%d %H:% m:%S格式组合日期列和小时列



我有一个每小时降水的xlsx文件,它有三列:日期(格式20210727)、时间(格式01:00:00)和降水值。用pd。我将我的日期列改为日期:

prec['date'] = pd.to_datetime(prec['date'], format="%Y%m%d")

当我尝试将日期和小时列合并为新的Datetime列时,我得到两个时间戳,实际的一个(时间列)和附加到日期的00:00:00时间戳。

prec['Datetime'] = prec['date'].apply(str)+ ' ' + prec['hour'].apply(str)

date        hour        prec    Datetime
0   2021-07-27  00:00:00    0.0     2021-07-27 00:00:00 00:00:00
1   2021-07-27  01:00:00    0.0     2021-07-27 00:00:00 01:00:00
2   2021-07-27  02:00:00    0.0     2021-07-27 00:00:00 02:00:00
3   2021-07-27  03:00:00    0.0     2021-07-27 00:00:00 03:00:00
4   2021-07-27  04:00:00    0.0     2021-07-27 00:00:00 04:00:00 

我想获得没有00:00:00时间戳的最终Datetime,以便

date        hour        prec    Datetime
0   2021-07-27  00:00:00    0.0     2021-07-27 00:00:00
1   2021-07-27  01:00:00    0.0     2021-07-27 01:00:00
2   2021-07-27  02:00:00    0.0     2021-07-27 02:00:00
3   2021-07-27  03:00:00    0.0     2021-07-27 03:00:00
4   2021-07-27  04:00:00    0.0     2021-07-27 04:00:00

您可以使用以下代码:

prec['Datetime'] = prec['date'].dt.strftime("%Y-%d-%m")+ ' ' + prec['hour'].apply(str)

最新更新