1515)
1616from pandas ._libs .internals import BlockPlacement
1717from pandas ._libs .tslibs import conversion
18- from pandas ._typing import ArrayLike , DtypeObj , Scalar , Shape
18+ from pandas ._typing import ArrayLike , Dtype , DtypeObj , Scalar , Shape
1919from pandas .util ._validators import validate_bool_kwarg
2020
2121from pandas .core .dtypes .cast import (
@@ -241,7 +241,7 @@ def array_values(self) -> ExtensionArray:
241241 """
242242 return PandasArray (self .values )
243243
244- def get_values (self , dtype = None ):
244+ def get_values (self , dtype : Optional [ Dtype ] = None ):
245245 """
246246 return an internal format, currently just the ndarray
247247 this is often overridden to handle to_dense like operations
@@ -1669,7 +1669,7 @@ def setitem(self, indexer, value):
16691669 self .values [indexer ] = value
16701670 return self
16711671
1672- def get_values (self , dtype = None ):
1672+ def get_values (self , dtype : Optional [ Dtype ] = None ):
16731673 # ExtensionArrays must be iterable, so this works.
16741674 # TODO(EA2D): reshape not needed with 2D EAs
16751675 return np .asarray (self .values ).reshape (self .shape )
@@ -1990,7 +1990,7 @@ class DatetimeLikeBlockMixin(Block):
19901990
19911991 _can_hold_na = True
19921992
1993- def get_values (self , dtype = None ):
1993+ def get_values (self , dtype : Optional [ Dtype ] = None ):
19941994 """
19951995 return object dtype as boxed values, such as Timestamps/Timedelta
19961996 """
@@ -2168,7 +2168,7 @@ def is_view(self) -> bool:
21682168 # check the ndarray values of the DatetimeIndex values
21692169 return self .values ._data .base is not None
21702170
2171- def get_values (self , dtype = None ):
2171+ def get_values (self , dtype : Optional [ Dtype ] = None ):
21722172 """
21732173 Returns an ndarray of values.
21742174
@@ -2449,7 +2449,7 @@ def replace(
24492449# Constructor Helpers
24502450
24512451
2452- def get_block_type (values , dtype = None ):
2452+ def get_block_type (values , dtype : Optional [ Dtype ] = None ):
24532453 """
24542454 Find the appropriate Block subclass to use for the given values and dtype.
24552455
@@ -2464,7 +2464,7 @@ def get_block_type(values, dtype=None):
24642464 """
24652465 # We use vtype and kind checks because they are much more performant
24662466 # than is_foo_dtype
2467- dtype = dtype or values .dtype
2467+ dtype = cast ( np . dtype , pandas_dtype ( dtype ) if dtype else values .dtype )
24682468 vtype = dtype .type
24692469 kind = dtype .kind
24702470
@@ -2500,7 +2500,7 @@ def get_block_type(values, dtype=None):
25002500 return cls
25012501
25022502
2503- def make_block (values , placement , klass = None , ndim = None , dtype = None ):
2503+ def make_block (values , placement , klass = None , ndim = None , dtype : Optional [ Dtype ] = None ):
25042504 # Ensure that we don't allow PandasArray / PandasDtype in internals.
25052505 # For now, blocks should be backed by ndarrays when possible.
25062506 if isinstance (values , ABCPandasArray ):
0 commit comments