У меня есть простая проблема, которая доставляет мне немало хлопот: у меня есть большой 2D-массив, который представляет собой смесь datetime.Timedelta
объектов и np.nan
, упрощенно выглядит так:
tdarray = np.array([dt.timedelta(days=5), np.nan])
Теперь я хочу получить дни и число с плавающей запятой / целое число от объекта timedelta, оставляя np.nan
как есть, то есть результат должен быть np.array([ 5., nan])
.
Получить дни из объекта timedelta легкос .days
, и применяя функцию, массив должен работать, например, с np.fromiter
, а затем изменять форму.Но как мне отловить ошибку, которая возникает при попытке получить дни от NaN?Я попытался замаскировать, но это также не удается с AttributeError, что MaskedArray
не имеет атрибута days
.Есть ли простое решение?