给定熊猫中只有小时-分钟-秒格式的列,如何以秒为单位返回总时间? [关闭]

Posted

技术标签:

【中文标题】给定熊猫中只有小时-分钟-秒格式的列,如何以秒为单位返回总时间? [关闭]【英文标题】:How to return total time in seconds given a column with only hour-minute-second format in pandas? [closed] 【发布时间】:2019-08-15 23:41:29 【问题描述】:

我有一个带有 00:00:00(小时、分钟、秒)格式的列的 pandas DataFrame。

   'Time'
0  00:01:00
1  00:00:30
2  00:01:30
3  00:00:10

我需要创建一个列中包含总秒数的列。即

   'Time'    'Time in secs'
0  00:01:00       60
1  00:00:30       30
2  00:01:30       90
3  00:00:10       10

我怎样才能做到这一点?

顺便说一句,当我这样做时:

df['Time'] = pd.to_datetime(df['Time], format = "%H:%M:%S")

时间列显示为 1900-01-01 00:00:00 格式。 :(

如何删除年月日?

【问题讨论】:

pd.to_datetime(df['Time'], format = "%H:%M:%S").dt.time 获取时间 酷,不错的信息 【参考方案1】:

您没有日期,因此使用Timedelta 最容易,而且您的格式完全符合要求。这些正是您想要的属性:total_seconds

pd.to_timedelta(df.Time).dt.total_seconds()
#0    60.0
#1    30.0
#2    90.0
#3    10.0
#Name: Time, dtype: float64

【讨论】:

【参考方案2】:

将时间列转换为时间增量并除以秒

df['Time in secs'] = pd.to_timedelta(df['Time'])/pd.to_timedelta(1, unit='S')

结果

df['Time in secs']
0    60.0
1    30.0
2    90.0
3    10.0
Name: Time, dtype: float64

【讨论】:

以上是关于给定熊猫中只有小时-分钟-秒格式的列,如何以秒为单位返回总时间? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将秒转换为小时、分钟和秒?

以秒为单位将数字拆分为天、小时、分钟和秒?

输出以秒为单位。在 php 中转换为 hh:mm:ss 格式

如何在 Swift3 中以秒为单位将字符串更改为分钟?

在 Excel 中,我需要以天小时分钟秒为单位转换秒数

MATLAB计时以小时或分钟显示