熊猫时间增量只有小时分钟和秒

Posted

技术标签:

【中文标题】熊猫时间增量只有小时分钟和秒【英文标题】:Pandas to time delta with only hours minutes and seconds 【发布时间】:2021-07-01 13:46:49 【问题描述】:

在我的脚本中,我提取了一个 Excel,在一个名为“时间”的列中是 dtype 对象,在该列中有一个小时,例如“14:00:00”,我想将该列转换为 to_datetime,但是当我这样做时:

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

我在其中添加了年份月份和日期,我不希望这种情况发生,我还希望将该列保留为日期时间,这样我就可以减去另一个时间并获得秒数。 我怎样才能将它传递给只有小时分钟和秒的日期时间?

【问题讨论】:

【参考方案1】:

使用Series.dt.time:

import pandas as pd

# sample
df = pd.DataFrame('Time': ['00:00:05', '00:00:10', '00:10:00'])

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

print(type(df.Time[0]))
[out]:
<class 'datetime.time'>

要加或减time,你可以这样做:

pd.Timedelta(df.Time - t1).seconds / 3600.0

【讨论】:

【参考方案2】:

你可以使用timedelta:

df['Time'] = pd.to_timedelta(df['Time'])

计算分钟数:

pd.to_timedelta(df.time).dt.seconds/60

【讨论】:

以上是关于熊猫时间增量只有小时分钟和秒的主要内容,如果未能解决你的问题,请参考以下文章

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

绘制熊猫时间增量

如何设置 DateTime 小时、分钟和秒?

如何在 SQL 中将小时、分钟和秒 (HH:mm:ss) 转换为分钟和秒 (mm:ss)

将天、小时、分钟和秒转换为整数

如何在 SQL 中的日期时间列中添加小时、分钟和秒?