numpy 如何将 Dataframe 中的时间记录(时间戳)转换为秒(整数)?

mwngjboj  于 2023-02-08  发布在  其他
关注(0)|答案(1)|浏览(268)

我有一个包含以下列的 Dataframe :文本,开始时间,结束时间,三个都是字符串,The dataframe我现在关注的是,我需要把开始和结束列的元素转换成秒数,也就是把00:00:26转换成26,或者把00:01:27转换成87等等。
输出元素必须是int格式。
我已经找到了将时间记录字符串转换为正确时间戳的方法

datetime_str = '00:00:26'

datetime_object = datetime.strptime(datetime_str, '%H:%M:%S').time()

print(datetime_object)
print(type(datetime_object))

输出:00:00:26〈类'日期时间.时间'〉
但是我怎么把这个00:00:26转换成整数26。

mpgws1up

mpgws1up1#

由于您正在操作一个 * df *,因此可以简单地使用pandas中的Timedeltatotal_seconds

df["Start_2"] = pd.to_timedelta(df["Start"]).dt.total_seconds().astype(int)

df["End_2"] = pd.to_timedelta(df["End"]).dt.total_seconds().astype(int)
​

输出:

print(df)

      Start       End  Start_2  End_2
0  00:00:05  00:00:13        5     13
1  00:00:13  00:00:21       13     21
2  00:00:21  00:00:27       21     27
3  00:00:27  00:00:36       27     36
4  00:00:36  00:00:42       36     42
5  00:00:42  00:00:47       42     47
6  00:00:47  00:00:54       47     54
7  00:00:54  00:00:59       54     59
8  00:00:59  00:01:07       59     67
9  00:01:07  00:01:13       67     73

相关问题