Вы можете получить доступ к нему через «завернутый» дату и время пункт:
>>> dt.item().total_seconds()
65.0
Объяснения: здесь dt
является array scalar в numpy
, что массив нулевого ранга или 0-мерный массив. Итак, вы найдете dt
здесь также есть все методы, которыми обладает ndarray, и вы можете сделать, например, dt.astype('float')
. Но он обертывает объект python, в данном случае объект datetime.timedelta
.
Чтобы получить исходный скаляр, вы можете использовать dt.item()
. Для индекса скалярного массива можно использовать несколько странный синтаксис GetItem с помощью пустого кортежа:
>>> dt[()]
array(datetime.timedelta(0, 65), dtype='timedelta64[s]')
Это должно работать во всех версиях NumPy, но если вы используете Numpy v1.7 + может быть лучше используйте новый API datetime numpy напрямую, как описано в ответе от J.F. Sebastien.
Спасибо, что работал. Не могли бы вы объяснить, почему dt.seconds не работает? – sashkello
Это 'datetime.timedelta', у которого есть атрибут, названный так, а не' numpy.timedelta64'. Я не знаю, почему numpy реализовала это так, хотя, может быть, кто-то еще может ответить. – wim