From b0eb030d50a6febd71ca0f9c34e8aff97b571ce7 Mon Sep 17 00:00:00 2001 From: Natalia Mokeeva Date: Mon, 8 May 2023 11:21:11 +0200 Subject: [PATCH 1/2] remove mypy ignore[assignment] --- pandas/core/internals/construction.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pandas/core/internals/construction.py b/pandas/core/internals/construction.py index 29e0bb11be4dc..525268735b61d 100644 --- a/pandas/core/internals/construction.py +++ b/pandas/core/internals/construction.py @@ -10,6 +10,7 @@ Any, Hashable, Sequence, + cast, ) import numpy as np @@ -671,6 +672,8 @@ def reorder_arrays( """ Pre-emptively (cheaply) reindex arrays with new columns. """ + from pandas._typing import ArrayLike + # reorder according to the columns if columns is not None: if not columns.equals(arr_columns): @@ -687,10 +690,7 @@ def reorder_arrays( arr = arrays[k] new_arrays[i] = arr - # Incompatible types in assignment (expression has type - # "List[Union[ExtensionArray, ndarray[Any, Any], None]]", variable - # has type "List[Union[ExtensionArray, ndarray[Any, Any]]]") - arrays = new_arrays # type: ignore[assignment] + arrays = cast(list[ArrayLike], new_arrays) arr_columns = columns return arrays, arr_columns From 660c38afae032a4633c4f3affd3d3da6561262a4 Mon Sep 17 00:00:00 2001 From: Natalia Mokeeva Date: Thu, 11 May 2023 21:15:55 +0200 Subject: [PATCH 2/2] replace casting with refactoring --- pandas/core/internals/construction.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/pandas/core/internals/construction.py b/pandas/core/internals/construction.py index 525268735b61d..f080683d76df7 100644 --- a/pandas/core/internals/construction.py +++ b/pandas/core/internals/construction.py @@ -10,7 +10,6 @@ Any, Hashable, Sequence, - cast, ) import numpy as np @@ -672,14 +671,11 @@ def reorder_arrays( """ Pre-emptively (cheaply) reindex arrays with new columns. """ - from pandas._typing import ArrayLike - # reorder according to the columns if columns is not None: if not columns.equals(arr_columns): # if they are equal, there is nothing to do - new_arrays: list[ArrayLike | None] - new_arrays = [None] * len(columns) + new_arrays: list[ArrayLike] = [] indexer = arr_columns.get_indexer(columns) for i, k in enumerate(indexer): if k == -1: @@ -688,9 +684,9 @@ def reorder_arrays( arr.fill(np.nan) else: arr = arrays[k] - new_arrays[i] = arr + new_arrays.append(arr) - arrays = cast(list[ArrayLike], new_arrays) + arrays = new_arrays arr_columns = columns return arrays, arr_columns