本文介绍了numpy timedelta64 不显示分数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将 847 小时转换成天,实际结果是 847/24= 35,29..

I want to convert 847hours into days, Actual result is 847/24= 35,29..

但是,numpy 只显示35 天"

But, numpy show only "35 days"

import numpy as np

x= np.timedelta64(847, 'h')

x= np.timedelta64(x, 'D')

print(x) #Returns 35 days, Expected 35,29

推荐答案

timedelta64 的大小总是存储为 64 位整数(参见 日期时间单位).要获得小数天数,我们可以:

The magnitude of a timedelta64 is always stored as a 64-bit integer (cf. Datetime Units). To obtain fractional days, we can do:

import numpy as np
x = np.timedelta64(847, 'h')
x = x / np.timedelta64(1, 'D')
print(x)

结果35.291666666666664不可避免地不再是timedelta64.

The result 35.291666666666664 is inevitably no longer a timedelta64.

这篇关于numpy timedelta64 不显示分数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 23:39