Предлагается запрос на извлечение для переполнения панд с нормализацией временной меткиPython

Программы на Python
Ответить
Anonymous
 Предлагается запрос на извлечение для переполнения панд с нормализацией временной метки

Сообщение Anonymous »

Рассмотрение этой проблемы: https://github.com/pandas-dev/pandas/issues/60583
Насколько я понимаю, ошибка связана с логикой кода, описанной в разделе timestamps.pyx.
Первым вариантом, который я рассмотрел, было изменение нормализации в timestamps.pyx. Второй вариант, который я рассматривал, — это изменениеnormalize_i8_stamp() в timestamps.pyx, а также обновлениеnormalize_i8_stamp() в timestamps.pxd, чтобы обновить объявлениеnormalize_i8_stamp() в соответствии с новой сигнатурой.
datetimes.py не будет изменен, поскольку, насколько я понимаю, эта проблема переполнения отсутствует в datetime.
Мое предложенное изменение показано ниже:
cdef:
local_val = self._maybe_convert_value_to_local()
int64_t normalized
int64_t ppd = periods_per_day(self._creso)
_Timestamp ts

# Check for potential overflow before normalization
if local_val < INT64_MIN or local_val > INT64_MAX:
raise OutOfBoundsDatetime(
f"Cannot normalize Timestamp {self} without overflow"
)

normalized = normalize_i8_stamp(local_val, ppd)

# Additional overflow check after normalization
if normalized < INT64_MIN or normalized > INT64_MAX:
raise OutOfBoundsDatetime(
f"Normalization of {self} would cause an overflow"
)

ts = type(self)._from_value_and_reso(normalized, reso=self._creso, tz=None)
return ts.tz_localize(self.tzinfo)


Подробнее здесь: https://stackoverflow.com/questions/793 ... -normalize
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»