我有一个每小时降水的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)