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

时间:2018-09-28 11:23:34

标签: python pandas datetime time

我有一个数据框,其中包含2列Datetime,其字符串类型。

      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相比,以秒为单位。

除了time numpy pandas软件包以外,其他人都知道如何在不安装任何软件包的情况下执行此操作?因为我无法在没有权限的服务器上安装软件包,所以上述三个软件包已预先安装。

谢谢。

2 个答案:

答案 0 :(得分:3)

您可以使用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

答案 1 :(得分:1)

您可以尝试以下

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

(或者,如果您不像我这样懒惰,则可以指定实际格式)

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