我正在使用pandas / python,我有两个日期时间序列s1和s2,它们是使用包含日期/时间的df字段上的“ to_datetime”函数生成的。
当我从s2减去s1
s3 = s2-s1
我得到一个类型为s3的系列
timedelta64 [ns]
0 385 days, 04:10:36 1 57 days, 22:54:00 2 642 days, 21:15:23 3 615 days, 00:55:44 4 160 days, 22:13:35 5 196 days, 23:06:49 6 23 days, 22:57:17 7 2 days, 22:17:31 8 622 days, 01:29:25 9 79 days, 20:15:14 10 23 days, 22:46:51 11 268 days, 19:23:04 12 NaT 13 NaT 14 583 days, 03:40:39
我如何看待该系列的1个元素:
s3 [10]
我得到这样的东西:
numpy.timedelta64(2069211000000000,’ns’)
如何从s3中提取天数,并可能将其保留为整数(对小时/分钟等不太感兴趣)?
在此先感谢您的帮助。
您可以将其转换为具有日精度的timedelta。要提取天的整数值,可以将其除以一天的时间增量。
>>> x = np.timedelta64(2069211000000000, 'ns') >>> days = x.astype('timedelta64[D]') >>> days / np.timedelta64(1, 'D') 23
或者,如@PhillipCloud建议,只是days.astype(int)因为timedelta仅仅是一个64位整数,根据你所传递的第二个参数被解释以各种方式('D','ns',…)。
days.astype(int)
timedelta
'D'
'ns'
您可以在这里找到更多有关它的信息。