docs: def datetime_from_ordinal_float(days):
      """Inverse of `ordinal_float()`, converts a float number of days back to a `datetime` object
  
      >>> dt = datetime.datetime(1970, 1, 1)
      >>> datetime_from_ordinal_float(ordinal_float(dt)) == dt
      True
      >>> dt = datetime.datetime(1, 2, 3, 4, 5, 6, 7)
      >>> datetime_from_ordinal_float(ordinal_float(dt)) == dt
      True
      """
      if isinstance(days, (float, int)):
          if np.isnan(days) or days in set((float('nan'), float('inf'), float('-inf'))):
              return days
          dt = datetime.datetime.fromordinal(int(days))
          seconds = (days - int(days)) * 3600. * 24.
          microseconds = (seconds - int(seconds)) * 1000000
          return dt + datetime.timedelta(days=0, seconds=int(seconds), microseconds=int(round(microseconds)))
      return [datetime_from_ordinal_float(d) for d in days]