gpt4 book ai didi

python - 从 numpy.timedelta64 值中提取天数

转载 作者:IT老高 更新时间:2023-10-28 21:40:23 27 4
gpt4 key购买 nike

我正在使用 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 中提取天数并将它们保存为整数(对小时/分钟等不太感兴趣)?

提前感谢您的帮助。

最佳答案

您可以将其转换为具有天精度的时间增量。要提取天的整数值,请将其除以一天的时间增量。

>>> x = np.timedelta64(2069211000000000, 'ns')
>>> days = x.astype('timedelta64[D]')
>>> days / np.timedelta64(1, 'D')
23

或者,正如@PhillipCloud 建议的那样,只是 days.astype(int) 因为 timedelta 只是一个 64 位整数,根据第二个参数以各种方式解释你传入了 ('D', 'ns', ...)。

你可以找到更多关于它here .

关于python - 从 numpy.timedelta64 值中提取天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18215317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com