Sindbad~EG File Manager
�
Mٜg�J � � � d dl mZ d dlmZmZ d dlZd dlZd dlm Z m
ZmZ
mZ d dlmZ d dlmZ d dlmZ d dlmZmZ d d lmZmZmZ d d
lmZ d dlmZm Z d dl!m"Z"m#Z#m$Z$ d d
l%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d dl,m-Z-m.Z. er"d dl/m0Z0 d dl1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl)m9Z9m:Z: d"d�Z; d#d�Z< d$d�Z=d%d�Z> d&d�Z? d'd�Z@ d(d�ZA G d� d� ZBd)d�ZCd*d�ZDd+d �ZEd,d!�ZFy)-� )�annotations)�
TYPE_CHECKING�castN)�NaT�algos� internals�lib)�NA)�cache_readonly)�find_stack_level)�ensure_dtype_can_hold_na�find_common_type)�is_1d_only_ea_dtype� is_scalar�needs_i8_conversion)�
concat_compat)�ExtensionDtype�SparseDtype)�is_valid_na_for_dtype�isna�isna_all)�ensure_wrapped_if_datetimelike)�ArrayManager)�ensure_block_shape�new_block_2d)�BlockManager�
make_na_array)�Sequence)� ArrayLike�AxisInt�DtypeObj� Manager2D�Shape)�Index)�Block�BlockPlacementc �n � |dk( r| d j | |� S |dk( sJ �| d j | |� S )z�
Concatenate array managers into one.
Parameters
----------
mgrs_indexers : list of (ArrayManager, {axis: indexer,...}) tuples
axes : list of Index
concat_axis : int
Returns
-------
ArrayManager
� r )�concat_vertical�concat_horizontal)�mgrs�axes�concat_axiss �G/usr/local/lib/python3.12/site-packages/pandas/core/internals/concat.py�_concatenate_array_managersr/ F sJ � � �a���A�w�&�&�t�T�2�2� �a�����A�w�(�(��t�4�4� c �* �� |xr |dk( }t | d d t � rt || |� }t |||� S |dk( r"t || |� }|d j ||� S t | � dkD r�| d d j dkD r�| d d j d j ��t j t j fv rNt �fd�| D � � r:t | � dkD r,t d� |D � � }t | |�� }t |f|� S t || |� }t |� dk( r |d }|j! d�� } || _ | S t% |� }
g }|
D �] \ }}
|
d }|j&