2017-11-11 94 views
-2

我试图创建一个列他的价值观是两米栏的减法,但我发现奇怪的值:为什么我通过减去两列来得到负数?

Patient["Waiting"] = Patient["Appointment"] - Patient["Scheduled"] 

Scheduled     Appointment  Waiting 
2016-04-29 18:38:08   2016-04-29  -1 days +05:21:52 

我不知道为什么这些负面的值出现?

+1

您的预约日期没有与之相关的时间,所以假设零时间(午夜) –

+1

这只是时间差,负的,因为预约已经比预定的18:38:08早00:00:00。如果你不关心方向,你可以“abs”。 – Meitham

回答

0

@cᴏʟᴅsᴘᴇᴇᴅ更好地解释它:

当两个datetime对象相减,结果是timedelta。取决于哪个日期较大,结果可能是正面或负面。

此外,如果列中的所有值都没有时间,熊猫则不显示。

Patient["Waiting"] = Patient["Appointment"] - Patient["Scheduled"] 
        2016-04-29 00:00:00 - 2016-04-29 18:38:08 

对于删除负面timedelatas可以使用abs

Patient["Waiting"] = (Patient["Appointment"] - Patient["Scheduled"]).abs() 
+1

这并没有真正回答这个问题。当减去两个日期时间对象时,结果是一个timedelta。取决于哪个日期较大,结果可能是正面或负面。另外,我不认为OP有错误的订单,他们只是想了解结果。哎呀,似乎他们甚至不知道他们想要什么。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ - 再次感谢你的英语问题,最好的解释。 – jezrael