Sindbad~EG File Manager
�
Mٜg�� � �B � d dl mZ d dlmZ d dlZd dlZd dlmZmZm Z m
Z
mZmZ d dl
Z
d dlZd dlZd dlmZmZmZ d dlmZmZmZ d dlmZmZ d dlmZ d d lm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ d d
l,m-Z- d dl.m/Z/ d dl0m1Z1 d d
l2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZCmDZD d dlEmFZFmGZGmHZHmIZImJZJ d dlKmLZLmMZMmNZNmOZO d dlPmQZQmRZRmSZS d dlTmUZU d dlVmWc mXZY d dlZm[Z[m\Z\m]Z]m^Z^m_Z_ d dl`maZa d dlbmcZcmdZdmeZe d dlfmgZg d dlhmiZimjZjmkZkmlZlmmZmmnZnmoZo d dlpmqZq d dlrmWc msZt d dlumvZv d dlwmxZxmyZy d dlzm{Z{ d dl|m}Z} erd dl~mZm�Z� d d l�m�Z� d d!l�m�Z� e�j
d"� Z�d#Z�d$Z�dBd%�Z� G d&� d'eqe�j � Z� G d(� d)e�� Z� G d*� d+e�� Z� G d,� d-e�� Z� G d.� d/e�� Z� G d0� d1e�� Z� G d2� d3e�� Z� G d4� d5e�� Z� G d6� d7e�� Z�dCd8�Z�dDd9�Z� dE dFd:�Z�dd;� dGd<�Z�dHd=�Z� dId>�Z�dEdJd?�Z�dKdLd@�Z�dCdA�Z�y)M� )�annotations)�wrapsN)�
TYPE_CHECKING�Any�Callable�Literal�cast�final)�
get_option�using_copy_on_write�warn_copy_on_write)�NaT� internals�lib)�BlockPlacement�BlockValuesRefs)�NA)� ArrayLike�AxisInt�DtypeBackend�DtypeObj�F�
FillnaOptions�IgnoreRaise�InterpolateOptions�QuantileInterpolation�Self�Shape�npt��AbstractMethodError)�cache_readonly)�find_stack_level)�validate_bool_kwarg)�astype_array_safe�astype_is_view)�LossySetitemError�can_hold_element�convert_dtypes�find_result_type�maybe_downcast_to_dtype�np_can_hold_element)�is_1d_only_ea_dtype�is_float_dtype�is_integer_dtype�is_list_like� is_scalar�is_string_dtype)�DatetimeTZDtype�ExtensionDtype�
IntervalDtype�NumpyEADtype�PeriodDtype)�ABCDataFrame�ABCIndex�ABCNumpyExtensionArray� ABCSeries)�is_valid_na_for_dtype�isna�na_value_for_dtype)�missing)�extract_bool_array�putmask_inplace�putmask_without_repeat�setitem_datetimelike_compat�validate_putmask)�quantile_compat)�compare_or_regex_search�
replace_regex�should_use_regex)�shift)�Categorical�
DatetimeArray�ExtensionArray�
IntervalArray�NumpyExtensionArray�PeriodArray�TimedeltaArray)�PandasObject)�expressions)�ensure_wrapped_if_datetimelike�
extract_array)�check_setitem_lengths)�get_values_for_csv)�Iterable�Sequence)�Index)�NDArrayBackedExtensionArray�objectaO Setting a value on a view: behaviour will change in pandas 3.0.
You are mutating a Series or DataFrame object, and currently this mutation will
also have effect on other Series or DataFrame objects that share data with this
object. In pandas 3.0 (with Copy-on-Write), updating one Series or DataFrame object
will never modify another.
a Setting a value on a view: behaviour will change in pandas 3.0.
Currently, the mutation will also have effect on the object that shares data
with this object. For example, when setting a value in a Series that was
extracted from a column of a DataFrame, that DataFrame will also be updated:
ser = df["col"]
ser[0] = 0 <--- in pandas 2, this also updates `df`
In pandas 3.0 (with Copy-on-Write), updating one Series/DataFrame will never
modify another, and thus in the example above, `df` will not be changed.
c �L � � t � � d� fd�� }t t |� S )zp
If we have a multi-column block, split and operate block-wise. Otherwise
use the original method.
c � �� | j dk( s| j d dk( r �| g|��i |��S | j �g|��i |��S )N� r )�ndim�shape�split_and_operate)�self�args�kwargs�meths ��G/usr/local/lib/python3.12/site-packages/pandas/core/internals/blocks.py�newfunczmaybe_split.<locals>.newfunc� sQ �� ��9�9��>�T�Z�Z��]�a�/���.�t�.�v�.�.� *�4�)�)�$�@��@��@�@� ��return�list[Block])r r r )re rg s ` rf �maybe_splitrl � s, �� � �4�[�A� �A� ��7��rh c � � e Zd ZU dZded<