numpy timedelta64 не показывает дробь - PullRequest
1 голос
/ 03 июля 2019

Я хочу перевести 847 часов в дни, фактический результат - 847/24 = 35,29 ..

Но, покажи только "35 дней"


import numpy as np

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

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

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

1 Ответ

0 голосов
/ 03 июля 2019

Величина timedelta64 всегда сохраняется как 64-разрядное целое число (ср. Единицы времени и даты ). Чтобы получить дробные дни, мы можем сделать:

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

Результат 35.291666666666664 неизбежно перестал быть timedelta64.

...