Sindbad~EG File Manager

Current Path : /usr/local/lib/python3.12/site-packages/pandas/core/reshape/__pycache__/
Upload File :
Current File : //usr/local/lib/python3.12/site-packages/pandas/core/reshape/__pycache__/util.cpython-312.pyc

�

Mٜg���P�ddlmZddlmZddlZddlmZerddlm	Z	dd�Z
d	d�Zy)
�)�annotations)�
TYPE_CHECKINGN)�is_list_like)�NumpyIndexTc��d}t|�st|��|D]}t|�r�t|��t|�dk(rgStjd�|D�tj
��}tj|�}tj|dk�rtd��tj|d�}d|d<|ddk7r	|d|z}ntj|�}t|�D��cgc]>\}}ttj|||�tj||����@c}}Scc}}w)a�
    Numpy version of itertools.product.
    Sometimes faster (for large inputs)...

    Parameters
    ----------
    X : list-like of list-likes

    Returns
    -------
    product : list of ndarrays

    Examples
    --------
    >>> cartesian_product([list('ABC'), [1, 2]])
    [array(['A', 'A', 'B', 'B', 'C', 'C'], dtype='<U1'), array([1, 2, 1, 2, 1, 2])]

    See Also
    --------
    itertools.product : Cartesian product of input iterables.  Equivalent to
        nested for-loops.
    z'Input must be a list-like of list-likesrc3�2K�|]}t|����y�w)N)�len)�.0�xs  �C/usr/local/lib/python3.12/site-packages/pandas/core/reshape/util.py�	<genexpr>z$cartesian_product.<locals>.<genexpr>.s����*��1��A���s�)�dtypez+Product space too large to allocate arrays!����)r�	TypeErrorr	�np�fromiter�intp�cumprod�any�
ValueError�roll�
zeros_like�	enumerate�tile_compat�repeat�prod)�X�msgr�lenX�cumprodX�a�b�is        r�cartesian_productr%
s'��.4�C���?���n��
���A���C�.� ���1�v��{��	�
�;�;�*��*�"�'�'�:�D��z�z�$��H�	�v�v�h��l���F�G�G�
����!��A��A�a�D���|�q���R�L�8�#��
�M�M�(�#���a�L��
!�D�A�q�		��I�I�a��1����G�G�A�a�D�M�	
�!����s�9AEc���t|tj�rtj||�Stjtjt|��|�}|j
|�S)zf
    Index compat for np.tile.

    Notes
    -----
    Does not support multi-dimensional `num`.
    )�
isinstancer�ndarray�tile�aranger	�take)�arr�num�takers   rrrHsP���#�r�z�z�"��w�w�s�C� � �
�G�G�B�I�I�c�#�h�'��-�E��8�8�E�?��)�returnzlist[np.ndarray])r,rr-�intr0r)�
__future__r�typingr�numpyr�pandas.core.dtypes.commonr�pandas._typingrr%r�r/r�<module>r8s"��"� ��2��*�8�v
r/

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists