代码之家  ›  专栏  ›  技术社区  ›  Jim Chen

在python中将时间转换为秒格式

  •  2
  • Jim Chen  · 技术社区  · 6 年前

    我有一个2列的数据框 Date time 输入字符串。

          Date      Time
    20/11/2017  22:49:05
    20/11/2017  22:51:07
    20/11/2017  22:53:07
    20/11/2017  22:58:07
    

    我想把这两列转换成一列,与1970/01/01相比,以秒为单位。

    时间 numpy pandas

    提前谢谢。

    2 回复  |  直到 6 年前
        1
  •  3
  •   jpp    6 年前

    datetime 系列:

    # convert to datetime
    df['DateTime'] = pd.to_datetime(df.pop('Date') + ' ' + df.pop('Time'))
    
    # extract seconds
    df['unix_seconds'] = df['DateTime'].astype(np.int64) // 10**9
    
    print(df)
    
                 DateTime  unix_seconds
    0 2017-11-20 22:49:05    1511218145
    1 2017-11-20 22:51:07    1511218267
    2 2017-11-20 22:53:07    1511218387
    3 2017-11-20 22:58:07    1511218687
    
        2
  •  1
  •   Sven Harris    6 年前

    df["datetime_column"] = (df["Date"] + " " + df["Time"]).to_datetime(infer_datetime_format=True)
    

    (如果你不像我一样懒惰,你也可以指定实际的格式)

    df["seconds"] = df["datetime_column"].dt.strftime("%s").astype(int)