使用pandas减去python中的小时数

时间:2018-04-13 02:28:07

标签: python pandas

我想通过将两个时隙减去一个例如8.5小时的分数来显示结果。目前我得到以下输出,但我想得到8,如果它是8:30,它说8.5。我正在使用Python Pandas

0 days 08:00:00

start time example: 8:00:00 finish time example: 16:30:00

  g=file.start[0]
  h=file.finish[0]
  z=h-g
  print(z)

currentOutput

0 days 08:00:00

2 个答案:

答案 0 :(得分:2)

您可以在当前输出中使用numpy.timedelta

import numpy as np
import pandas as pd

(pd.to_datetime('16:30:00')-pd.to_datetime('8:00:00')) / np.timedelta64(1,'h')
# 8.5

编辑:或者,您可以将np.timedelta64替换为pd.TimeDelta(这样您就不需要导入numpy):

(pd.to_datetime('16:30:00')-pd.to_datetime('8:00:00')) / pd.Timedelta(1,'h')

答案 1 :(得分:1)

如果ztimedelta个对象(请参阅[1]),那么您只需:

print(z.total_seconds() / 3600)

以数小时计算时间。