Skip to content

Commit 4e4f5bd

Browse files
vaibhavhrtjreback
authored andcommitted
[WIP} Fix type annotation in pandas/core/api (#26341)
1 parent 8747be1 commit 4e4f5bd

File tree

2 files changed

+74
-22
lines changed

2 files changed

+74
-22
lines changed

mypy.ini

-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ follow_imports=silent
55
[mypy-pandas.conftest,pandas.tests.*]
66
ignore_errors=True
77

8-
[mypy-pandas.core.api]
9-
ignore_errors=True
10-
118
[mypy-pandas.core.indexes.base]
129
ignore_errors=True
1310

pandas/core/arrays/integer.py

+74-19
Original file line numberDiff line numberDiff line change
@@ -696,22 +696,77 @@ def integer_arithmetic_method(self, other):
696696
"""
697697

698698
# create the Dtype
699-
_dtypes = {}
700-
for dtype in ['int8', 'int16', 'int32', 'int64',
701-
'uint8', 'uint16', 'uint32', 'uint64']:
702-
703-
if dtype.startswith('u'):
704-
name = "U{}".format(dtype[1:].capitalize())
705-
else:
706-
name = dtype.capitalize()
707-
classname = "{}Dtype".format(name)
708-
numpy_dtype = getattr(np, dtype)
709-
attributes_dict = {'type': numpy_dtype,
710-
'name': name,
711-
'__doc__': _dtype_docstring.format(dtype=dtype)}
712-
dtype_type = register_extension_dtype(
713-
type(classname, (_IntegerDtype, ), attributes_dict)
714-
)
715-
setattr(module, classname, dtype_type)
716-
717-
_dtypes[dtype] = dtype_type()
699+
Int8Dtype = register_extension_dtype(
700+
type('Int8Dtype', (_IntegerDtype, ), {
701+
'type': np.int8,
702+
'name': 'Int8',
703+
'__doc__': _dtype_docstring.format(dtype='int8')
704+
})
705+
)
706+
707+
Int16Dtype = register_extension_dtype(
708+
type('Int16Dtype', (_IntegerDtype, ), {
709+
'type': np.int16,
710+
'name': 'Int16',
711+
'__doc__': _dtype_docstring.format(dtype='int16')
712+
})
713+
)
714+
715+
Int32Dtype = register_extension_dtype(
716+
type('Int32Dtype', (_IntegerDtype, ), {
717+
'type': np.int32,
718+
'name': 'Int32',
719+
'__doc__': _dtype_docstring.format(dtype='int32')
720+
})
721+
)
722+
723+
Int64Dtype = register_extension_dtype(
724+
type('Int64Dtype', (_IntegerDtype, ), {
725+
'type': np.int64,
726+
'name': 'Int64',
727+
'__doc__': _dtype_docstring.format(dtype='int64')
728+
})
729+
)
730+
731+
UInt8Dtype = register_extension_dtype(
732+
type('UInt8Dtype', (_IntegerDtype, ), {
733+
'type': np.uint8,
734+
'name': 'UInt8',
735+
'__doc__': _dtype_docstring.format(dtype='uint8')
736+
})
737+
)
738+
739+
UInt16Dtype = register_extension_dtype(
740+
type('UInt16Dtype', (_IntegerDtype, ), {
741+
'type': np.uint16,
742+
'name': 'UInt16',
743+
'__doc__': _dtype_docstring.format(dtype='uint16')
744+
})
745+
)
746+
747+
UInt32Dtype = register_extension_dtype(
748+
type('UInt32Dtype', (_IntegerDtype, ), {
749+
'type': np.uint32,
750+
'name': 'UInt32',
751+
'__doc__': _dtype_docstring.format(dtype='uint32')
752+
})
753+
)
754+
755+
UInt64Dtype = register_extension_dtype(
756+
type('UInt64Dtype', (_IntegerDtype, ), {
757+
'type': np.uint64,
758+
'name': 'UInt64',
759+
'__doc__': _dtype_docstring.format(dtype='uint64')
760+
})
761+
)
762+
763+
_dtypes = {
764+
'int8': Int8Dtype(),
765+
'int16': Int16Dtype(),
766+
'int32': Int32Dtype(),
767+
'int64': Int64Dtype(),
768+
'uint8': UInt8Dtype(),
769+
'uint16': UInt16Dtype(),
770+
'uint32': UInt32Dtype(),
771+
'uint64': UInt64Dtype(),
772+
}

0 commit comments

Comments
 (0)