熊猫时间增量只有小时分钟和秒
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
【讨论】:
以上是关于熊猫时间增量只有小时分钟和秒的主要内容,如果未能解决你的问题,请参考以下文章
给定熊猫中只有小时-分钟-秒格式的列,如何以秒为单位返回总时间? [关闭]