
    I j5                       % S SK Jr  S SKJrJrJr  S SKrS SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  \(       a  S SKJr   " S	 S
\5      r\	" S5       " S S\5      5       rSr\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\\	" S5       " S S\5      5       5       r\R<                  " \R>                  5      \" 5       \R<                  " \R@                  5      \" 5       \R<                  " \RB                  5      \" 5       \R<                  " \RD                  5      \" 5       \R<                  " \RF                  5      \" 5       \R<                  " \RH                  5      \" 5       \R<                  " \RJ                  5      \" 5       \R<                  " \RL                  5      \" 5       0r'S \(S!'   g)"    )annotations)TYPE_CHECKINGAnyClassVarN)
set_module)register_extension_dtype)is_integer_dtype)NumericArrayNumericDtype)Callablec                      \ rS rSr% SrSr\R                  " \R                  5      r	\
rS\S'   SS jr\SS j5       r\SS j5       rS	rg
)IntegerDtype   a  
An ExtensionDtype to hold a single size & kind of integer dtype.

These specific implementations are subclasses of the non-public
IntegerDtype. For example, we have Int8Dtype to represent signed int 8s.

The attributes name & type are set when these subclasses are created.
   zCallable[[Any], bool]_checkerc                    [         $ )zI
Return the array type associated with this dtype.

Returns
-------
type
)IntegerArray)selfs    k/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/core/arrays/integer.pyconstruct_array_type!IntegerDtype.construct_array_type(   s
         c                    [         $ )N)NUMPY_INT_TO_DTYPE)clss    r   _get_dtype_mappingIntegerDtype._get_dtype_mapping2   s    !!r   c           	         UR                  USUS9$ ! [         ab  nUR                  X#S9nXQ:H  R                  5       (       a  Us SnA$ [        SUR                   S[        R                  " U5       35      UeSnAff = f)z
Safely cast the values to the given dtype.

"safe" in this context means the casting is lossless. e.g. if 'values'
has a floating dtype, each value must be an integer.
safe)castingcopy)r!   Nz"cannot safely cast non-equivalent z to )astype	TypeErroralldtypenp)r   valuesr%   r!   errcasteds         r   
_safe_castIntegerDtype._safe_cast6   s    		==T=BB 	]]5]4F %%''4V\\N$rxxPUFWX	s     
A?'A:A?
0A::A? N)returnztype[IntegerArray])r-   dict[np.dtype, IntegerDtype])r'   
np.ndarrayr%   znp.dtyper!   boolr-   r/   )__name__
__module____qualname____firstlineno____doc___internal_fill_valuer&   r%   int64_default_np_dtyper	   r   __annotations__r   classmethodr   r*   __static_attributes__r,   r   r   r   r      sZ     *&6H#6 " "  r   r   zpandas.arraysc                      \ rS rSrSr\rSrg)r   J   a  
Array of integer (optional missing) values.

Uses :attr:`pandas.NA` as the missing value.

.. warning::

   IntegerArray is currently experimental, and its API or internal
   implementation may change without warning.

We represent an IntegerArray with 2 numpy arrays:

- data: contains a numpy integer array of the appropriate dtype
- mask: a boolean array holding a mask on the data, True is missing

To construct an IntegerArray from generic array-like input, use
:func:`pandas.array` with one of the integer dtypes (see examples).

See :ref:`integer_na` for more.

Parameters
----------
values : numpy.ndarray
    A 1-d integer-dtype array.
mask : numpy.ndarray
    A 1-d boolean-dtype array indicating missing values.
copy : bool, default False
    Whether to copy the `values` and `mask`.

Attributes
----------
None

Methods
-------
None

Returns
-------
IntegerArray

See Also
--------
array : Create an array using the appropriate dtype, including ``IntegerArray``.
Int32Dtype : An ExtensionDtype for int32 integer data.
UInt16Dtype : An ExtensionDtype for uint16 integer data.

Examples
--------
Create an IntegerArray with :func:`pandas.array`.

>>> int_array = pd.array([1, None, 3], dtype=pd.Int32Dtype())
>>> int_array
<IntegerArray>
[1, <NA>, 3]
Length: 3, dtype: Int32

String aliases for the dtypes are also available. They are capitalized.

>>> pd.array([1, None, 3], dtype="Int32")
<IntegerArray>
[1, <NA>, 3]
Length: 3, dtype: Int32

>>> pd.array([1, None, 3], dtype="UInt16")
<IntegerArray>
[1, <NA>, 3]
Length: 3, dtype: UInt16
r,   N)r1   r2   r3   r4   r5   r   
_dtype_clsr;   r,   r   r   r   r   J   s    DL Jr   r   a  
An ExtensionDtype for {dtype} integer data.

Uses :attr:`pandas.NA` as its missing value, rather than :attr:`numpy.nan`.

Attributes
----------
None

Methods
-------
None

See Also
--------
Int8Dtype : 8-bit nullable integer type.
Int16Dtype : 16-bit nullable integer type.
Int32Dtype : 32-bit nullable integer type.
Int64Dtype : 64-bit nullable integer type.

Examples
--------
For Int8Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.Int8Dtype())
>>> ser.dtype
Int8Dtype()

For Int16Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.Int16Dtype())
>>> ser.dtype
Int16Dtype()

For Int32Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.Int32Dtype())
>>> ser.dtype
Int32Dtype()

For Int64Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.Int64Dtype())
>>> ser.dtype
Int64Dtype()

For UInt8Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.UInt8Dtype())
>>> ser.dtype
UInt8Dtype()

For UInt16Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.UInt16Dtype())
>>> ser.dtype
UInt16Dtype()

For UInt32Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.UInt32Dtype())
>>> ser.dtype
UInt32Dtype()

For UInt64Dtype:

>>> ser = pd.Series([2, pd.NA], dtype=pd.UInt64Dtype())
>>> ser.dtype
UInt64Dtype()
pandasc                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)		Int8Dtype   Int8ClassVar[str]nameint8r%   r,   N)r1   r2   r3   r4   r&   rF   typerE   r9   _dtype_docstringformatr5   r;   r,   r   r   rA   rA      s*     77D D- %%F%3Gr   rA   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	
Int16Dtype   Int16rD   rE   int16rG   r,   N)r1   r2   r3   r4   r&   rO   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   rL   rL      *     88D!D-!%%G%4Gr   rL   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	
Int32Dtype   Int32rD   rE   int32rG   r,   N)r1   r2   r3   r4   r&   rU   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   rR   rR      rP   r   rR   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	
Int64Dtype   Int64rD   rE   r7   rG   r,   N)r1   r2   r3   r4   r&   r7   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   rW   rW      rP   r   rW   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	
UInt8Dtype   UInt8rD   rE   uint8rG   r,   N)r1   r2   r3   r4   r&   r^   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   r[   r[      rP   r   r[   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	UInt16Dtypei  UInt16rD   rE   uint16rG   r,   N)r1   r2   r3   r4   r&   rb   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   r`   r`     *     99D"D-"%%H%5Gr   r`   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	UInt32Dtypei  UInt32rD   rE   uint32rG   r,   N)r1   r2   r3   r4   r&   rg   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   re   re     rc   r   re   c                  Z    \ rS rSr% \R
                  rSrS\S'   \	R                  SS9rSrg)	UInt64Dtypei  UInt64rD   rE   uint64rG   r,   N)r1   r2   r3   r4   r&   rk   rH   rE   r9   rI   rJ   r5   r;   r,   r   r   ri   ri     rc   r   ri   r.   r   ))
__future__r   typingr   r   r   numpyr&   pandas.util._decoratorsr   pandas.core.dtypes.baser   pandas.core.dtypes.commonr	   pandas.core.arrays.numericr
   r   collections.abcr   r   r   rI   rA   rL   rR   rW   r[   r`   re   ri   r%   rF   rO   rU   r7   r^   rb   rg   rk   r   r9   r,   r   r   <module>rt      sZ   "   . < 6
 (.< .b OG< G GTE T H4 4  4 H5 5  5 H5 5  5 H5 5  5 H5 5  5 H6, 6  6 H6, 6  6 H6, 6  6 HHRWWy{HHRXX
HHRXX
HHRXX
HHRXX
HHRYYHHRYYHHRYY	4 0 	r   