From baafc0c8e0f9da59dbbf5cf4bbb858d847c68e80 Mon Sep 17 00:00:00 2001 From: Chuanzhu Xu Date: Tue, 18 Jun 2019 22:31:40 -0400 Subject: [PATCH 1/2] Add type hint for (core.arrays).ranges --- pandas/core/arrays/_ranges.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/pandas/core/arrays/_ranges.py b/pandas/core/arrays/_ranges.py index 4fbb8ae9f9aee..6a995922557fe 100644 --- a/pandas/core/arrays/_ranges.py +++ b/pandas/core/arrays/_ranges.py @@ -3,14 +3,19 @@ (and possibly TimedeltaArray/PeriodArray) """ +from typing import Tuple + import numpy as np from pandas._libs.tslibs import OutOfBoundsDatetime, Timestamp -from pandas.tseries.offsets import Tick, generate_range +from pandas.tseries.offsets import DateOffset, Tick, generate_range -def generate_regular_range(start, end, periods, freq): +def generate_regular_range(start: Timestamp, + end: Timestamp, + periods: int, + freq: DateOffset,) -> Tuple[np.ndarray, str]: """ Generate a range of dates with the spans between dates described by the given `freq` DateOffset. @@ -79,7 +84,10 @@ def generate_regular_range(start, end, periods, freq): return values, tz -def _generate_range_overflow_safe(endpoint, periods, stride, side='start'): +def _generate_range_overflow_safe(endpoint: int, + periods: int, + stride: int, + side: str = 'start',) -> int: """ Calculate the second endpoint for passing to np.arange, checking to avoid an integer overflow. Catch OverflowError and re-raise @@ -146,7 +154,10 @@ def _generate_range_overflow_safe(endpoint, periods, stride, side='start'): return _generate_range_overflow_safe(midpoint, remaining, stride, side) -def _generate_range_overflow_safe_signed(endpoint, periods, stride, side): +def _generate_range_overflow_safe_signed(endpoint: int, + periods: int, + stride: int, + side: str) -> int: """ A special case for _generate_range_overflow_safe where `periods * stride` can be calculated without overflowing int64 bounds. From 96aa1cf20c7c56fb9eeddb000f5dae0bcb05ee4d Mon Sep 17 00:00:00 2001 From: Chuanzhu Xu Date: Tue, 18 Jun 2019 22:39:07 -0400 Subject: [PATCH 2/2] remove comma --- pandas/core/arrays/_ranges.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/core/arrays/_ranges.py b/pandas/core/arrays/_ranges.py index 6a995922557fe..7a83b7960a6e7 100644 --- a/pandas/core/arrays/_ranges.py +++ b/pandas/core/arrays/_ranges.py @@ -15,7 +15,7 @@ def generate_regular_range(start: Timestamp, end: Timestamp, periods: int, - freq: DateOffset,) -> Tuple[np.ndarray, str]: + freq: DateOffset) -> Tuple[np.ndarray, str]: """ Generate a range of dates with the spans between dates described by the given `freq` DateOffset. @@ -87,7 +87,7 @@ def generate_regular_range(start: Timestamp, def _generate_range_overflow_safe(endpoint: int, periods: int, stride: int, - side: str = 'start',) -> int: + side: str = 'start') -> int: """ Calculate the second endpoint for passing to np.arange, checking to avoid an integer overflow. Catch OverflowError and re-raise