如何对datetime64值进行取整

5 投票
2 回答
10148 浏览
提问于 2025-04-17 15:38

我有一个包含datetime64的numpy数组,我想把数组里面的时间值的小数部分去掉。比如说,把2001-1-1 10:33:32.5变成2001-1-1 10:33:32.0。我希望能找到一种向量化的方法。

更一般来说,我想要一种向量化的方法,可以把时间四舍五入到任何频率(比如分钟、天等)。

2 个回答

0

处理截断的另一种方法是:

rounded = numpy.array((numpy.array(myarray, dtype='datetime64[m]'), dtype='datetime64[ms]')
11

你可以用下面的代码把一个数组变成时间格式,精确到秒:

rounded = numpy.array(myarray, dtype='datetime64[s]') 或者 rounded = myarray.astype('datetime64[s]')

如果你想把时间精确到分钟,也可以用下面的方法:

rounded = numpy.array(myarray, dtype='datetime64[m]')

撰写回答