diff --git a/pandas/core/internals/api.py b/pandas/core/internals/api.py index 37e07af71213e..fe0b36a8ef4d1 100644 --- a/pandas/core/internals/api.py +++ b/pandas/core/internals/api.py @@ -52,7 +52,7 @@ def make_block( if klass is None: dtype = dtype or values.dtype - klass = get_block_type(values, dtype) + klass = get_block_type(dtype) elif klass is DatetimeTZBlock and not is_datetime64tz_dtype(values.dtype): # pyarrow calls get here diff --git a/pandas/core/internals/blocks.py b/pandas/core/internals/blocks.py index bcb4dd284465b..02326e470962a 100644 --- a/pandas/core/internals/blocks.py +++ b/pandas/core/internals/blocks.py @@ -1918,13 +1918,12 @@ def maybe_coerce_values(values: ArrayLike) -> ArrayLike: return values -def get_block_type(values, dtype: DtypeObj | None = None): +def get_block_type(dtype: DtypeObj): """ Find the appropriate Block subclass to use for the given values and dtype. Parameters ---------- - values : ndarray-like dtype : numpy or pandas dtype Returns @@ -1933,9 +1932,6 @@ def get_block_type(values, dtype: DtypeObj | None = None): """ # We use vtype and kind checks because they are much more performant # than is_foo_dtype - if dtype is None: - dtype = values.dtype - vtype = dtype.type kind = dtype.kind @@ -1970,7 +1966,7 @@ def new_block(values, placement, *, ndim: int, klass=None) -> Block: check_ndim(values, placement, ndim) if klass is None: - klass = get_block_type(values, values.dtype) + klass = get_block_type(values.dtype) values = maybe_coerce_values(values) return klass(values, ndim=ndim, placement=placement) diff --git a/pandas/core/internals/managers.py b/pandas/core/internals/managers.py index 2bbb3bc510b4d..70a88595a4b16 100644 --- a/pandas/core/internals/managers.py +++ b/pandas/core/internals/managers.py @@ -1934,7 +1934,7 @@ def _form_blocks(arrays: list[ArrayLike], consolidate: bool) -> list[Block]: nbs = [] for (_, _, dtype), tup_block in grouper: - block_type = get_block_type(None, dtype) + block_type = get_block_type(dtype) if isinstance(dtype, np.dtype): is_dtlike = dtype.kind in ["m", "M"]