[英]Python convert dateTime to seconds
我的数据框中有一列格式为 11/24/2020 7:09:45。 我想创建另一列,该列是前一行和当前行之间以秒为单位的增量。 我可能让这种方式变得比它需要的更复杂。
import pandas as pd
import numpy as np
df
run run_ts
11:02 11/30/2020 7:24:00
10:11 11/30/2020 7:23:00
16:08 11/30/2020 7:35:00
14:33 11/30/2020 7:32:00
14:27 11/30/2020 7:25:45
14:26 11/30/2020 7:25:25
14:25 11/30/2020 7:25:10
14:24 11/30/2020 7:24:55
NaaN 11/30/2020 7:24:15
NaaN 11/30/2020 7:24:30
df['timeDiff'] = np.where(df['run'] == "NaaN", df['run_ts'].shift(1)-df['run_ts']), "")
TypeError: unsupported operand type(s) for -: 'str' and 'str'
我不确定该朝哪个方向发展。 谢谢您的帮助!
尝试.total_seconds()
。 在此处查看相同问题的答案。
解析to_datetime ,取差异,然后取总秒数。 前任:
df['run_ts'] = pd.to_datetime(df['run_ts'], format="%m/%d/%Y %H:%M:%S")
df['diff_to_prev[s]'] = df['run_ts'].diff().dt.total_seconds()
df
run run_ts diff_to_prev[s]
0 11:02 2020-11-30 07:24:00 NaN
1 10:11 2020-11-30 07:23:00 -60.0
2 16:08 2020-11-30 07:35:00 720.0
3 14:33 2020-11-30 07:32:00 -180.0
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.