【问题标题】:Pandas combine date column and hour column in %Y%m%d %H:%M:%S formatPandas 以 %Y%m%d %H:%M:%S 格式组合日期列和小时列
【发布时间】:2021-09-16 12:39:28
【问题描述】:

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

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

当我尝试将日期和小时列合并到一个新的日期时间列中时,我得到了两个时间戳,一个是实际的(时间列),另一个是附加到我的日期的 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 时间戳的最终日期时间,以便

    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

【问题讨论】:

标签: python pandas date datetime


【解决方案1】:

您可以使用此代码:

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

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 2021-11-26
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多