From 19abe82f1759b437107bf25f368ffa12481c65fe Mon Sep 17 00:00:00 2001 From: nickleus27 Date: Tue, 14 Dec 2021 20:56:06 -0800 Subject: [PATCH 1/4] made left_indexer into ndarray with asarray --- pandas/core/reshape/merge.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 960b8faec7c59..6227470afc3ff 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -1648,15 +1648,11 @@ def get_result(self) -> DataFrame: right_join_indexer: np.ndarray | None if self.fill_method == "ffill": - # error: Argument 1 to "ffill_indexer" has incompatible type - # "Optional[ndarray]"; expected "ndarray" left_join_indexer = libjoin.ffill_indexer( - left_indexer # type: ignore[arg-type] + np.asarray(left_indexer) ) - # error: Argument 1 to "ffill_indexer" has incompatible type - # "Optional[ndarray]"; expected "ndarray" right_join_indexer = libjoin.ffill_indexer( - right_indexer # type: ignore[arg-type] + np.asarray(right_indexer) ) else: left_join_indexer = left_indexer From 81ac8bd74a68cb01886933d41792cd8aa7c34879 Mon Sep 17 00:00:00 2001 From: nickleus27 Date: Tue, 14 Dec 2021 20:59:48 -0800 Subject: [PATCH 2/4] pre-commit --- pandas/core/reshape/merge.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 6227470afc3ff..522b508e7db46 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -1648,12 +1648,8 @@ def get_result(self) -> DataFrame: right_join_indexer: np.ndarray | None if self.fill_method == "ffill": - left_join_indexer = libjoin.ffill_indexer( - np.asarray(left_indexer) - ) - right_join_indexer = libjoin.ffill_indexer( - np.asarray(right_indexer) - ) + left_join_indexer = libjoin.ffill_indexer(np.asarray(left_indexer)) + right_join_indexer = libjoin.ffill_indexer(np.asarray(right_indexer)) else: left_join_indexer = left_indexer right_join_indexer = right_indexer From 86c7d410c7ea2af59dd4736e2d8e4158fc571bd2 Mon Sep 17 00:00:00 2001 From: nickleus27 Date: Mon, 27 Dec 2021 01:06:46 -0800 Subject: [PATCH 3/4] typing cast left_indexer, right_indexer, and raise TypeError for None --- pandas/core/reshape/merge.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index 522b508e7db46..bd2094bd34f4b 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -1648,8 +1648,11 @@ def get_result(self) -> DataFrame: right_join_indexer: np.ndarray | None if self.fill_method == "ffill": - left_join_indexer = libjoin.ffill_indexer(np.asarray(left_indexer)) - right_join_indexer = libjoin.ffill_indexer(np.asarray(right_indexer)) + if left_indexer is None: + raise TypeError("left_indexer cannot be None") + left_indexer, right_indexer = cast(np.ndarray, left_indexer), cast(np.ndarray, right_indexer) + left_join_indexer = libjoin.ffill_indexer(left_indexer) + right_join_indexer = libjoin.ffill_indexer(right_indexer) else: left_join_indexer = left_indexer right_join_indexer = right_indexer From 84e70e2a5ba1a164504146555b978195ddcbc476 Mon Sep 17 00:00:00 2001 From: nickleus27 Date: Mon, 27 Dec 2021 23:19:09 -0800 Subject: [PATCH 4/4] pre-commit --- pandas/core/reshape/merge.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pandas/core/reshape/merge.py b/pandas/core/reshape/merge.py index bd2094bd34f4b..6dc37ad74965f 100644 --- a/pandas/core/reshape/merge.py +++ b/pandas/core/reshape/merge.py @@ -1650,7 +1650,9 @@ def get_result(self) -> DataFrame: if self.fill_method == "ffill": if left_indexer is None: raise TypeError("left_indexer cannot be None") - left_indexer, right_indexer = cast(np.ndarray, left_indexer), cast(np.ndarray, right_indexer) + left_indexer, right_indexer = cast(np.ndarray, left_indexer), cast( + np.ndarray, right_indexer + ) left_join_indexer = libjoin.ffill_indexer(left_indexer) right_join_indexer = libjoin.ffill_indexer(right_indexer) else: