403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python312/Lib/site-packages/pandas/tests/extension/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python312/Lib/site-packages/pandas/tests/extension/__pycache__/test_arrow.cpython-312.pyc
�

/	�g����X$�dZddlmZddlmZmZmZmZddlmZddl	m
Z
mZddlZddl
Z
ddlZddlZddlZddlmZddlmZdd	lmZmZmZmZmZmZmZddlmcm Z!dd
l"m#Z#m$Z$ddl%Z&ddl'm(Z)ddl*m+Z+ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3dd
l4m5Z5ejld�Z7ddl8m9Z9ddl:m;Z;d�Z<ejze)j|e?��d��Z@ejzd��ZAejzd��ZBejzddg��d��ZCejzd��ZDejzd��ZEejzd��ZFejzd��ZGGd�de5j��ZIGd �d!�ZJej�j�d"e)j��d#��ZNd$�ZOd%�ZPd&�ZQd'�ZRd(�ZSej�j�d)gd*��ej�j�d+d,d,d,gg�d-���ZTej�j�d.gd/�d0dgggd1�dgggd2d3g�4�d5��ZUd6�ZVej�j�d7e7j��eXge7j�d8�eXge7j��eXge7j��e?ge7j�e7j���e]ge7j�e7j���e]ge7j�e7j��e7j���e]ge7j�d9e7j��fd:e7j��fg�ecge7j�e7j��e7j���e$gg	�d;��Zed<�Zfd=�Zgd>�Zhd?�Zid@�ZjdA�ZkdB�ZldC�ZmdD�ZndE�ZodF�ZpdG�Zqej�j�dHejVej�fdIg�dJ��ZsdK�ZtdL�ZudM�ZvdN�ZwdO�ZxdP�ZydQ�ZzdR�Z{dS�Z|ej�j�dTdUdVg�dW��Z}dX�Z~ej�j�dYdZd[gd\d]gd^d_gg�d`��Zda�Z�ej�j�dbdcddddddedggdfdeddddddggdcdddedddedeggdgddddededggdhdeddedddggg�di��Z�dj�Z�ej�j�dkdldcdgdm�gdldnddgdo�gdpdndegdq�gdpdrdgdm�gdldsdgdt�gdpdudgdt�gdldvdgdw�gdpdvdgdw�gg�dx��Z�ej�j�dydz�d{��Z�ej�j�d|dTe�j
dn�gd}e?gd~ddgdd�gg�d���Z�ej�j�d�d�d�d�ddd�dggd�d�d�ddd�dggd�d�d�ded�dggg�d���Z�d��Z�d��Z�d��Z�ej�j�d�dcddddedggdfdeddddggdrdeddddggdcdddededeggdgddddedggdhdeddddggg�d���Z�ej�j�d�dUdddgd��gd�dedgd��gdrdedgd��gdcdddgd��gdVdddgd��gdhdedgd��gd�dddgd��gd�dddgd��gd�dedgd��gd�dedgd��gg
�d���Z�ej�j�d�dcddddge7�j�gdrd�d�d�dge7j��gg�d���Z�d��Z�d��Z�ej�j�d�d�gd��gd�gd��gd�gd��gd�gd��gd0gd��gg�d���Z�ej��j%d�e����d���Z�d��Z�ej�j�d�dd�ddcdggdd�d�dcdggd�d�d�drdggg�d���Z�ej�j�d�d�d�d�d�dggdd�d�d�dggdd�dd�dggg�d���Z�ej�j�d�gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd��gd¢gdâgdĢgdŢg�dƄ�Z�ej�j�d�d�d�gd�d�gd�d�gd�d�gd�d�gd�d�gg�dӄ�Z�dԄZ�ej�j�d�gd֢gdעgdآgd٢gdڢgdۢg�d܄�Z�ej�j�d�d�dUg�d߄�Z�ej�j�d�d�dUg�d��Z�ej�j�d�d�d�g�ej�j�d�d�d�gd�d�gg�d���Z�ej�j�ddd�g�d��Z�ej�j�d�d�d�g�ej�j�d�ddgd�d0gg�d���Z�ej�j�d�d�d�g�d��Z�ej�j�d�ddgd�d0gg�d���Z�d��Z�d��Z�d��Z�d��Z�ej�j�d�d�d�g�d���Z�d��Z�d��Z�d��Z�ej�j��ddeddg��d��Z��d�Z�ej�j��dg�d���d��Z��d�Z�ej�j��d�d�d	g�d
d�g�ddg�ddg�d
dg�dd�g�dd�g�dd�g�dd0g�dddg�d�dg�dd�g�d�dg�dd�g�d�dg�de�d	d�d��g�ded�d0�d�d�gg��d��Z��d�Z��d�Z��d �Z�ej�j�d�d!�d"g��d#��Z��d$�Z�ej�j��d�d%�d&g��d'��Z�ej�j��d(g�d)���d*��Z��d+�Z�ej�j�dǐd,�d-g�d.�d/gg��d0��Z��d1�Z�ej�j�d�g�d2���d3��Z�ej�j�d�g�d2���d4��Z�ej�j��d5g�d6��ej�j�d�g�d2���d7���Z��d8�Z�ej�j��d9�d:�d;g��d<��Z��d=�Z��d>�Z�ej�j��d�d%�d&g��d?��Z�ej�j��d@�dAe�d	d��dBd���C�g�dDe&�j��dE�gg��dF��ZÐdG�ZĐdH�Z�ej�j��d�d%�d&g��dI��Z�ej�j��dJ�dK�dLg��dM��Z�ej�j��d�dNd�g�dOd�g�dPd�g�dQd0gg��dR��ZȐdS�ZɐdT�ZʐdU�Z�ej�j��dVdeddg��dW��Z̐dX�Z͐dY�Z�ej�j��dJ�dZ�d[g��d\��Z�G�d]��d^e9�ZАd_�Zѐd`�Z�ej�j��da�db�dcge7j��fd�dnge7j��fg��dd��ZӐde�Z�ej�j�d"e)j�e)�j�z��df��Z�ej�j�d"e)�j���dg��Z�ej�j�d"e)�j���dh��Z�ej�j�d"e)�j�e)�j�z��di��Zېdj�Zܐdk�Zݐdl�Z�ej�j�d"e)�j�e)�j�z��dm��Z�ej�j�d"e)�j�e)�j�z��dn��Z�ej�j�d"e)�j�e)�j�z��do��Z�ej�j�d"e)�j�e)�j�z��dp��Z�ej�j�d"e)�j�e)�j�z��dq��Z�ej�j�d"e)�j�e)�j�z��dr��Z�ds�Z�ej�j�d"e)�j�e)�j�ze�4�ej�j��dJde�g��dt���Z�du�Z�dv�Z�dw�Z�dx�Z�ej�j�d"e)�j���dy��Z�dz�Z�d{�Z�d|�Z�d}�Z�d~�Z�ej�j��dJ�d�d�g��d���Z�ej�j�d"e)�j���d���Z�ej�j�d"e)�j���d���Z�ej�j��dJe)�j���d���Z�ej�j��dJg�d����d���Z�ej�j�d"e)j���d���Z�ej�j��dJ�d�d�g��d���Z�ej�j��dJ�d�d�g��d���Z��d��Z��d��Z��d��Z��d���Z�d���Zy(�ag
This file contains a minimal set of tests for compliance with the extension
array interface test suite, and should contain no other tests.
The test suite for the full functionality of the array is located in
`pandas/tests/arrays/`.
The tests in this file are inherited from the BaseExtensionTests, and only
minimal tweaks should be applied to get the tests passing (by overwriting a
parent method).
Additional tests should either be added to one of the BaseExtensionTests
classes (if they are relevant for the extension interface for all dtypes), or
be added to the array-specific tests in `pandas/tests/arrays/`.
�)�annotations)�date�datetime�time�	timedelta)�Decimal)�BytesIO�StringION)�lib)�	timezones)�PY311�PY312�is_ci_environment�is_platform_windows�pa_version_under11p0�pa_version_under13p0�pa_version_under14p0)�
ArrowDtype�CategoricalDtypeType)�
no_default)�
is_bool_dtype�is_float_dtype�is_integer_dtype�is_numeric_dtype�is_signed_integer_dtype�is_string_dtype�is_unsigned_integer_dtype)�base�pyarrow)�ArrowExtensionArray)�ArrowPeriodTypec��t�rLt�rAtjj	t
jd��}|j|�yyy)Nz_TODO: Set ARROW_TIMEZONE_DATABASE environment variable on CI to path to the tzdata for pyarrow.��raises�reason)rr�pytest�mark�xfail�pa�ArrowInvalid�applymarker)�requestr's  �CC:\Python312\Lib\site-packages\pandas/tests/extension/test_arrow.py�_require_timezone_databaser.GsK����!2�!4��{�{� � ��?�?�;�!�
��	���D�!�"5��)�params�idsc�.�t|j��S)N)�
pyarrow_dtype)r�param)r,s r-�dtyper5Ss���G�M�M�2�2r/c
��|j}tjj|�rddgdzdgzddgdzzdgzddgz}�n�tjj	|�rddgdzdgzddgdzzdgzd	d
gz}�n^tjj|�rddgdzdgzd
dgdzzdgzddgz}�n!tjj
|�rddgdzdgzddgdzzdgzddgz}�n�tjj|�rTtd�td�gdzdgztd�td�gdzzdgztd�td�gz}�nqtjj|�r`tddd�tddd�gdzdgztddd�tddd�gdzzdgztddd�tddd�gz}�n�tjj|�rjtddddddd�tddddddd�gdzdgztdddd�tdddd�gdzzdgztddd�tddd�gz}�nitjj|�rTtd�tdd�gdzdgztd�td�gdzzdgztd�td�gz}n�tjj|�rYt!dd�t!dd�gdzdgzt!dd�t!dd�gdzzdgzt!dd�t!dd�gz}n~tjj#|�rdd gdzdgzdd!gdzzdgzd"d#gz}nBtjj%|�rd$d%gdzdgzd&d'gdzzdgzd(d)gz}nt&�t)j*||�*�S)+NTF��,��?�g�g���?g�X@�r�������c��1�0.0z-2.0z-1.0z0.5z33.123��������i�����
��a�b�2�!�>�a�b�1�2�!�>�r5)r3r)�types�
is_boolean�is_floating�is_signed_integer�is_unsigned_integer�
is_decimalr�is_dater�is_timestampr�is_durationr�is_timer�	is_string�	is_binary�NotImplementedError�pd�array)r5�pa_dtype�datas   r-rfrfXsf���"�"�H�	�x�x���8�$��e�}�q� �D�6�)�T�5�M�B�,>�>�$��G�4�QV�-�W��	���	�	�h�	'��S�z�A�~���&�$����):�:�d�V�C�s�D�k�Q��	���	#�	#�H�	-��1�v��z�T�F�"�b�"�X��]�2�d�V�;�q�"�g�E��	���	%�	%�h�	/��1�v��z�T�F�"�a��V�b�[�0�D�6�9�Q��G�C��	���	�	�X�	&�
�S�\�7�5�>�*�Q�.��f�
��v�����0�2�5�
6��f�
��u�~�w�x�0�1�	
2�	
�
���	�	�(�	#�
�$��1�
�t�D�"�b�1�2�Q�6��f�
��D�!�Q���d�A�q�!1�2�R�7�
8��f�
��D�"�b�!�4��b�"�#5�6�	
7�	
�
���	�	�x�	(�
�d�A�q�!�Q��1�
-�x��a��A�q�!�Q�/O�P�ST�T��f�
���a��A�&���q�!�Q�(?�@�2�E�
F��f�
���a��#�X�d�A�q�%9�:�	
;�	
�
���	�	�h�	'�
�q�\�9�Q��?�+�a�/��f�
���}�i��l�+�b�0�
1��f�
���~�y��}�-�	
.�	
�
���	�	�(�	#�
�"�a�[�$�q�"�+�&��*��f�
��A�q�z�4��1�:�&��+�
,��f�
��A�q�z�4��1�:�&�	
'�	
�
���	�	�H�	%��S�z�A�~���&�#�s��b��8�D�6�A�S�#�J�N��	���	�	�H�	%��d�|�a��4�&�(�D�$�<�"�+<�<��v�E��t��T��!�!�
�8�8�D��&�&r/c�X�t|�jd|dg|j��S)zLength-2 array with [NA, Valid]NrrU��type�_from_sequencer5)rfs r-�data_missingrk�s*����:�$�$�d�D��G�_�D�J�J�$�G�Gr/rfrk)r0c�H�|jdk(r|S|jdk(r|Sy)z�Parametrized fixture returning 'data' or 'data_missing' integer arrays.

    Used to test dtype conversion with and without missing values.
    rfrkN)r4)r,rfrks   r-�all_datarm�s,���}�}�����	���.�	(���
)r/c
���|j}tjj|�rd}d}d}�n#tjj	|�rd}d}d}�n�tjj|�rd}d}d}�n�tjj
|�rd}d}d	}�n�tjj|�r)td
dd�}td
dd�}tddd�}�nftjj|�r.td
dddddd�}tddd�}tdddd�}�ntjj|�r#td�}td�}tdd�}n�tjj|�r%tdd�}tdd�}tdd�}n�tjj|�rd}d}d}nmtjj!|�rd}d}d}nGtjj#|�r"t%d�}t%d�}t%d�}nt&�t)j*||dd||||g|��S)z�
    Data for factorization, grouping, and unique tests.

    Expected to be like [B, B, NA, NA, A, A, B, C]

    Where A < B < C and NA is missing
    FTg�������r:g�������?r>rr<rHrDrErFi�rCrGr7rJrK�crOrP�cz-1.1rBz1.1NrU)r3r)rVrWrXrYrZr\rr]rr^rr_rr`rar[rrbrcrd)r5re�A�B�Cs     r-�data_for_groupingrt�s���"�"�H�	�x�x���8�$�������	���	�	�h�	'�������	���	#�	#�H�	-���
��
��	���	%�	%�h�	/�
��
����	���	�	�(�	#���r�2�����q�!�����q�!���	���	�	�x�	(��T�1�a��A�q�!�,���T�1�a� ���T�1�a��#��	���	�	�h�	'��b�M���a�L���a��O��	���	�	�(�	#���A�J����B�K����R�L��	���	�	�H�	%�������	���	�	�H�	%�������	���	�	�X�	&��F�O���E�N���E�N��!�!�
�8�8�Q��4��q�!�Q��2�%�@�@r/c�f�t|�j|d|d|dg|j��S)zn
    Length-3 array with a known sort order.

    This should be three items [B, C, A] with
    A < B < C
    r�r7rUrh�rts r-�data_for_sortingrx��F���!�"�1�1�	�1�	�0��3�5F�q�5I�J��%�%�2��r/c�f�t|�j|d|d|dg|j��S)z{
    Length-3 array with a known sort order.

    This should be three items [B, NA, A] with
    A < B and NA missing.
    rr@r7rUrhrws r-�data_missing_for_sortingr{�ryr/c�t�|jj}tjj	|�s]tjj|�s>tjj
|�stjj|�r%tjdgdz|j��S|S)z3Length-100 array in which all the elements are two.r@�drU)
r5r3r)rV�
is_integerrXr[r^rcrd�rfres  r-�
data_for_twosr��s{���z�z�'�'�H�
�����H�%�
�8�8����)�
�8�8���x�(�
�8�8����)��x�x���c�	����4�4��Kr/c
�\��eZdZd�Zej
j
dddg�d��Z�fd�Zej
j
ddejd	e
jd
���g��fd��Z�fd
�Z
d�Zd�Zd�Zd�ZdFd�Zej
j
dddg��fd��ZdFd�ZdGd�Zej
j
dddg��fd��Zej
j
dddg��fd��ZdHd�Zej
j
dddg��fd��Zej
j
dgd��d��Z�fd �Z�fd!�Z�fd"�Zd#�Z�fd$�Z�fd%�Z ej
jCd&d�'��fd(��Z"d)�Z#ej
jCd*d�'��fd+��Z$ej
jCd*d�'��fd,��Z%ej
j
d-d
e&g�ej
j
d.d/d0g�d1���Z'�fd2�Z(ej
j
d3d4d5g��fd6��Z)d7�Z*d8Z+e,Z-d9�Z.dId:�Z/d;�Z0				dJd<�Z1d=�Z2�fd>�Z3�fd?�Z4d@�Z5�fdA�Z6dB�Z7ej
j
dCgdD��dE��Z8�xZ9S)K�TestArrowArrayc�\�tj|�}|j||||d�y)Nr)rc�Series�_compare_other)�selfrf�
comparison_op�sers    r-�test_compare_scalarz"TestArrowArray.test_compare_scalars'���i�i��o�����C��}�d�1�g�>r/�	na_actionN�ignorec��|jjdvrA|jd�|��}|jt��}tj||�y|jd�|��}|jdk(r"|jdtj��}n|j�}tj||�y)	N�mMc��|S�N���xs r-�<lambda>z)TestArrowArray.test_map.<locals>.<lambda>����r/�r�rUc��|Sr�r�r�s r-r�z)TestArrowArray.test_map.<locals>.<lambda>r�r/�float32[pyarrow]�float64�r5�na_value)	r5�kind�map�to_numpy�object�tm�assert_numpy_array_equal�np�nan)r�rkr��result�expecteds     r-�test_mapzTestArrowArray.test_maps������"�"�d�*�!�%�%�k�Y�%�G�F�#�,�,�6�,�:�H��'�'���9�!�%�%�k�Y�%�G�F��!�!�%7�7�'�0�0�y�2�6�6�0�R��'�0�0�2���'�'���9r/c����|jj}tjj	|�r4|jtjjd|�d����nytjj|�r|j�tjj|�r/|jtjjd���t�|�5|�y)NzFor z .astype(str) decodes.�r%�8pd.Timestamp/pd.Timedelta repr different from numpy repr)r5r3r)rVrar+r&r'r(r]�tzr^�super�test_astype_str�r�rfr,re�	__class__s    �r-r�zTestArrowArray.test_astype_str!s�����:�:�+�+��
�8�8���h�'�������!�!�!�(��+A�B�"��
�
�H�H�!�!�(�+����0C�
�X�X�
!�
!�(�
+�������!�!�U�"��
�
	����%r/�nullable_string_dtypezstring[python]�string[pyarrow]r)�marksc�D��|jj}tjj	|�r|j
�tjj
|�r/|jtjjd���t�|�1||�y)Nr�r�)
r5r3r)rVr]r�r^r+r&r'r(r��test_astype_string)r�rfr�r,rer�s     �r-r�z!TestArrowArray.test_astype_string3s{����:�:�+�+���H�H�!�!�(�+����0C�
�X�X�
!�
!�(�
+�������!�!�U�"��
�
	��"�4�)>�?r/c�x��|jj}tjj	|�stjj|�rVtjj	|�rd}nd|��}|j
tjj|���t�|�-|�y)Nz1ArrowDtype(pa.string()) != StringDtype('pyarrow')�$pyarrow.type_for_alias cannot infer r�)r5r3r)rVr`r[r+r&r'r(r��test_from_dtype)r�rfr,rer%r�s     �r-r�zTestArrowArray.test_from_dtypeFs�����:�:�+�+��
�8�8���h�'�2�8�8�+>�+>�x�+H��x�x�!�!�(�+�L��?��z�J��������!�!�!�"��
�
	����%r/c���t|�j|j|j��}t	j
||�t
|jtj�sJ�t|�j|jj�|j��}t	j
||�t
|jtj�sJ�y�NrU)
rirj�	_pa_arrayr5r��assert_extension_array_equal�
isinstancer)�ChunkedArray�combine_chunks�r�rfr�s   r-�test_from_sequence_pa_arrayz*TestArrowArray.test_from_sequence_pa_arrayUs����d��*�*�4�>�>����*�L��
�'�'���5��&�*�*�B�O�O�<�<�<��d��*�*��N�N�)�)�+�4�:�:�+�
��	�'�'���5��&�*�*�B�O�O�<�<�<r/c��tjtd��5tjdgt
j
���ddd�y#1swYyxYw)NzConverting strings to��matchz12-1rU)r&r$rbr �_from_sequence_of_stringsr)�month_day_nano_interval)r�r,s  r-�*test_from_sequence_pa_array_notimplementedz9TestArrowArray.test_from_sequence_pa_array_notimplementedbsE��
�]�]�.�6M�
N�	��9�9���� :� :� <�
�	�	�	�s�+A�Ac���|jj}tjj	|�rG|jd�r6ts0|jtjjd���n�tr�tjj|�stjj|�rB|jtjjtjd|�����n6tjj|�r|j �t#|�|j$j'tj)��}t+|�j-||j��}t/j0||�|j3�}t+|�j-||j��}t/j0||�y)Nz
time64[ns]z&Nanosecond time parsing not supported.r�z pyarrow doesn't support parsing r#rU)r5r3r)rV�	is_time64�equalsr
r+r&r'r(rr^r[�ArrowNotImplementedErrorr]r�r.r��cast�stringrir�r�r�r�)r�rfr,re�pa_arrayr�s      r-�&test_from_sequence_of_strings_pa_arrayz5TestArrowArray.test_from_sequence_of_strings_pa_arrayhs`���:�:�+�+��
�8�8���h�'�H�O�O�L�,I�RW�������!�!�C�"��
�
"��H�H� � ��*�b�h�h�.A�.A�(�.K�������!�!��6�6�=�h�Z�H�"��
��X�X�
"�
"�8�
,����1H�&�w�/��>�>�&�&�r�y�y�{�3���d��5�5�h�d�j�j�5�Q��
�'�'���5��*�*�,���d��5�5�h�d�j�j�5�Q��
�'�'���5r/c��t||�|��}|jj}tjj|�r6|jdk(rd}nd}|j|�}|j|�}|jd�}t|jd�|�|��}tj||d��y)N��skipna� �int32[pyarrow]�int64[pyarrow]�Float64F)�check_dtype)
�getattrr5r3r)rV�is_temporal�	bit_width�astyper��assert_series_equal)r�r��op_namer�r��pa_type�int_typer�s        r-�check_accumulatezTestArrowArray.check_accumulate�s���&���g�&�f�5���)�)�)�)��
�8�8����(�� � �B�&�+��+���*�*�X�&�C��]�]�8�,�F����y�)��:�7�3�:�:�i�0�'�:�&�I��
���v�x�U�Cr/c���|jj}tjj	|�s>tjj|�stjj
|�r|dvryytjj|�r|dvryytjj|�r+|dk(r tjj|�sy|dk(ryy)N)�cumsum�cumprod�cummax�cumminF)r�r�r�r�r�T)
r5r3r)rVr`rar[rWr�r^)r�r�r�r�s    r-�_supports_accumulationz%TestArrowArray._supports_accumulation�s����)�)�)�)��
�H�H���w�'��x�x�!�!�'�*��x�x�"�"�7�+��C�C����X�X�
 �
 ��
)��9�9����X�X�
!�
!�'�
*��(�"�2�8�8�+?�+?��+H���I�%��r/r�TFc����|jj}|}tj|�}|j	||�st
�
|�|||�Str�|dk7r}|jj}|jr&d|jvrtj|�d��tjj|�d���}	|j|	�n||dk(rwt j"j%|�st j"j'|�r9|jtjj|�d|��t(���|j+|||�y)Nr�znot slowz  not implemented for pyarrow < 9r�z not implemented for �r%r$)r5r3rcr�r�r��test_accumulate_seriesr�config�option�markexprr&�skipr'r(r+r)rVrWr[rbr�)r�rf�all_numeric_accumulationsr�r,r�r�r��optr'r�s          �r-r�z%TestArrowArray.test_accumulate_series�sD����*�*�*�*��+���i�i��o���*�*�3��8��7�1��/���
� �$=��$I��.�.�'�'�C��|�|�
�c�l�l� :����0�1�1Q�R���;�;�$�$�3�4�4T�U�%��D�
����%�
&�(�
2��H�H����(�B�H�H�,?�,?��,H�������!�!�7�8�8M�g�Y�W�.�"��
�	
���c�7�F�3r/c���|j}|j}tjj	|�r)|dvr%tjj|�r|dvrnDytjj
|�stjj|�r|dvrytjj	|�r$tjj|�s|dvryy)N)�sum�var�skew�kurt�prod)r�F)	r��mean�medianr��std�semr�r�r�)�any�allT)r5r3r)rVr�r^r`ra)r�r�r�r5res     r-�_supports_reductionz"TestArrowArray._supports_reduction�s����	�	���&�&��
�8�8����)�g�:
�/
��x�x�#�#�H�-�'�W�2D����H�H���x�(�B�H�H�,>�,>�x�,H��

�

��
�H�H� � ��*��H�H�(�(��2��>�)�
�r/c��|jj}tjj	|�stjj|�r|j
d�}n|}|dk(r#t||��}t||��}n&t||�|��}t||�|��}tj||�y)Nr��countr�)
r5r3r)rVr~rXr�r�r��assert_almost_equal)r�r�r�r�re�altr�r�s        r-�check_reducezTestArrowArray.check_reduce�s����9�9�*�*��
�8�8���x�(�B�H�H�,@�,@��,J��*�*�Y�'�C�
�C��g��*�W�S�'�*�,�F�,�w�s�G�,�.�H�*�W�S�'�*�&�9�F�,�w�s�G�,�F�;�H�
���v�x�0r/c���|j}|j}tjj	t
|�dtj�d|����}|dvr-|js|jdk(r|j|�n4tjj|�r|dvr|j|�t�|�9|||�y)N� is not implemented in pyarrow=� for r#>r�r�rK>r�r�r�r�)r5r3r&r'r(�	TypeErrorr)�__version__�_is_numericr�r+rVrWr��test_reduce_series_numeric)	r�rf�all_numeric_reductionsr�r,r5re�
xfail_markr�s	        �r-rz)TestArrowArray.test_reduce_series_numerics�����
�
���&�&���[�[�&�&��)�*�+��>�>�*�%��z�;�'�
�
�"�%5�5�������s�!2����
�+�
�X�X�
 �
 ��
*�/E�J
�0
�
���
�+�
��*�4�1G��Pr/c�f��|jj}tjj	t
|�dtj�d|����}tjj|�stjj|�r|j|�t�|�5|||�S)Nrrr#)r5r3r&r'r(rr)rrVr`rar+r��test_reduce_series_boolean)	r�rf�all_boolean_reductionsr�r�r,rerr�s	        �r-r	z)TestArrowArray.test_reduce_series_boolean+s�����:�:�+�+���[�[�&�&��)�*�+��>�>�*�%��z�;�'�
�
��8�8���h�'�2�8�8�+=�+=�h�+G�
���
�+��w�1�$�8N�PV�W�Wr/c���|dvr|j}|S|jjdk(r|dvr|j}|Sd}|S|dvrd}|Sdddd�|jj}|S)	N)�max�minzdecimal128(7, 3)[pyarrow])r�r�r��float64[pyarrow])r�r�r�r�r�r��uint64[pyarrow])�i�u�f)r5�namer�)r��arrr�r��	cmp_dtypes     r-�_get_expected_reduction_dtypez,TestArrowArray._get_expected_reduction_dtype>s����n�$��	�	�I����Y�Y�^�^�:�
:��6�6��I�I�	���/�	����@�
@�*�I���	&�&�'���i�i�n�n�	�I�
�r/c����|}|dk(rG|jjr1tjj	d��}|j|�t�|�|||�S)Nr�zskew not implementedr�)r5rr&r'r(r+r��test_reduce_frame)r�rfrr�r,r�r'r�s       �r-rz TestArrowArray.test_reduce_framePsX���(���f���z�z�%�%��{�{�(�(�0F�(�G���#�#�D�)��w�(��/E�v�N�Nr/�typ)�int64�uint64r�c�f�tjddg|�d���j�}|dk(sJ�y)Nr<r@�	[pyarrow]rU��?)rcr�r�)r�rr�s   r-�test_median_not_approximatez*TestArrowArray.test_median_not_approximateYs4�����A�q�6�C�5�	�):�;�B�B�D����}��}r/c�
��|j}t|�r�tjgd�|gd�d��}tjdg�}tjd|���}tjt|��5|jd�j�ddd�|jd�jd�	�j}tj||�yt�|�A|�y#1swY�[xYw)
N)r<r<r@r@�r!r<r7)r<r<r<r<r<r<r<r<�rqrrrsrsz%agg function failed [how->sum,dtype->r�rqT)�numeric_only)r5rrc�	DataFrame�Index�re�escaper&r$r�groupbyr��columnsr��assert_index_equalr��test_in_numeric_groupby)r�rtr5�dfr��msgr�r�s       �r-r+z&TestArrowArray.test_in_numeric_groupby_s����!�'�'���5�!����1�*�1���B��x�x����H��)�)�C�E�7�K�L�C����y��4�
&��
�
�3��#�#�%�
&��Z�Z��_�(�(�d�(�;�C�C�F��!�!�&�(�3��G�+�,=�>�
&�
&�s�? C9�9Dc����|j}tjj|�r7|j	t
jjtd|�����tjj|�rBd}tjt|��5|j|j�ddd�yt�|�=|�y#1swYyxYw)Nr�r#z6string\[pyarrow\] should be constructed by StringDtyper�)r3r)rVr[r+r&r'r(rbr`r$r�construct_from_stringrr��#test_construct_from_string_own_name)r�r5r,rer-r�s     �r-r0z2TestArrowArray.test_construct_from_string_own_namess�����&�&��
�8�8���x�(�������!�!�.�A�(��L�"��
��8�8���h�'�K�C����y��4�
8��+�+�E�J�J�7�
8�
�
��3�E�:�
8�
�s� C�Cc�t��|j}tjj|�r't	|�j|j�rJ�ytjj|�r7|jtjjtd|�����t�|�9|�y)Nr�r#)r3r)rVr`ri�is_dtyperr[r+r&r'r(rbr��test_is_dtype_from_name�r�r5r,rer�s    �r-r3z&TestArrowArray.test_is_dtype_from_name�s�����&�&��
�8�8���h�'��E�{�+�+�E�J�J�7�7�7�7��x�x�"�"�8�,��#�#��K�K�%�%�2�!E�h�Z�P�&���
�G�+�E�2r/c��d}tjt|��5t|�j	d�ddd�y#1swYyxYw)Nz*'another_type' must end with '\[pyarrow\]'r��another_type)r&r$rrir/)r�r5r-s   r-�.test_construct_from_string_another_type_raisesz=TestArrowArray.test_construct_from_string_another_type_raises�s<��;��
�]�]�9�C�
0�	>���K�-�-�n�=�	>�	>�	>�s�A�Ac����|j}tjj|�s�tjj	|�sitjj|�r|j�>tjj|�stjj|�r2|jtjj|�d����t�|�9|�y)NzB does not have associated numpy dtype findable by find_common_typer�)r3r)rVr\r_r]r�rar[r+r&r'r(r��test_get_common_dtyper4s    �r-r9z$TestArrowArray.test_get_common_dtype�s�����&�&���H�H���X�&��x�x����)����%�%�h�/�H�K�K�4K��x�x�!�!�(�+��x�x�"�"�8�,�������!�!�#�*�%=�>�"��
�	��%�e�,r/c���|j}tjj|�rt	|�sJ�yt
�|�|�yr�)r3r)rVr`rr��test_is_not_string_type)r�r5rer�s   �r-r;z&TestArrowArray.test_is_not_string_type�s;����&�&��
�8�8���h�'�"�5�)�)�)��G�+�E�2r/z6GH 45419: pyarrow.ChunkedArray does not support views.)r%�runc�$��t�|�|�yr�)r��	test_view�r�rfr�s  �r-r>zTestArrowArray.test_view�s���	���$�r/c���||j�}|d}|j|�}||usJ�tj||�|jd��}||usJ�tj||�y)Nr�backfill)�method)�isna�fillnar�r�)r�rf�validr�s    r-�test_fillna_no_op_returns_copyz-TestArrowArray.test_fillna_no_op_returns_copy�sw���T�Y�Y�[�L�!���Q������U�#���T�!�!�!�
�'�'���5����J��/���T�!�!�!�
�'�'���5r/z5GH 45419: pyarrow.ChunkedArray does not support viewsc�$��t�|�|�yr�)r��test_transposer?s  �r-rHzTestArrowArray.test_transpose�s���	���t�$r/c�$��t�|�|�yr�)r��test_setitem_preserves_viewsr?s  �r-rJz+TestArrowArray.test_setitem_preserves_views�s���	��,�T�2r/�
dtype_backend�enginero�pythonc	��|jj}tjj	|�r9|jtjjtd|�d����n�tjj|�rC|jdvr5|jtjjtd���nNtjj|�r/|jtjjd���tjdtj |t#|j��	�i�}|j%d
t&j(��}tjj|�rt+|�}nt-|�}tj.|dt#|j�i||��}|}	t1j2||	�y)
NzParameterized types z not supported.r#)�us�nsz1https://github.com/pandas-dev/pandas/issues/49767z)CSV parsers don't correctly handle binaryr��
with_dtyperUF)�index�na_rep)r5rLrK)r5r3r)rVr[r+r&r'r(rbr]�unit�
ValueErrorrarcr$r��str�to_csvr�r�r	r
�read_csvr��assert_frame_equal)
r�rLrfrKr,rer,�
csv_outputr�r�s
          r-�
test_EA_typeszTestArrowArray.test_EA_types�s}���:�:�+�+��
�8�8���x�(�������!�!�.�1�(��?�K�"��
��X�X�
"�
"�8�
,����,�1N�������!�!�%�N�"��
��X�X�
�
��
)�������!�!�)T�!�U�
��\�\�<����4�s�4�:�:��)O�P�
Q���Y�Y�U�2�6�6�Y�:�
�
�8�8���h�'� ��,�J�!�*�-�J�������T�Z�Z��1��'�	
����
���f�h�/r/c�X��|jj}tjj	|�stjj|�s`tjj
|�sA|jtjjtjd|�����trTtjj	|�r5tjtdd��5t �|�E|�ddd�yt �|�E|�y#1swYyxYw)Nz$pyarrow.compute.invert does support r#zBitwise inversionF)r��check_stacklevel)r5r3r)rVrWr~r`r+r&r'r(r�rr��assert_produces_warning�DeprecationWarningr��test_invertr�s    �r-r`zTestArrowArray.test_invert�s�����:�:�+�+���H�H����)��x�x�"�"�8�,��x�x�!�!�(�+�������!�!��6�6�A�(��L�"��
��R�X�X�(�(��2��+�+�"�*=�PU��
*���#�D�)�
*�
*�

�G���%�
*�
*�s�7D � D)�periodsr<r=c
�$��|jj}tjj	|�rJ|dk(rE|jtjjtjd|�d|�d����t�|�-||�y)Nr<z
diff with z
 and periods=z will overflowr#)r5r3r)rVrZr+r&r'r(r*r��	test_diff)r�rfrar,rer�s     �r-rczTestArrowArray.test_diff
sy����:�:�+�+��
�8�8�'�'��1�g��l�������!�!��?�?�$�X�J�m�G�9�N�S�"��
�	���$��(r/c��|dd}|j�}|jttj	��k(sJ�y)NrH)�value_countsr5rr)rr�s   r-�'test_value_counts_returns_pyarrow_int64z6TestArrowArray.test_value_counts_returns_pyarrow_int64s8���C�R�y���"�"�$���|�|�z�"�(�(�*�5�5�5�5r/z
bool[pyarrow]c�r�|jd�}|dk(rd�}|S|dk(rd�Stj|�S)N�_�rtruedivc�.�tj||�Sr�)r��divide�r��ys  r-riz1TestArrowArray.get_op_from_name.<locals>.rtruediv*s���y�y��A��&r/�	rfloordivc�.�tj||�Sr�)r��floor_dividerls  r-r�z1TestArrowArray.get_op_from_name.<locals>.<lambda>/s������1� 5�r/)�stripr��get_op_from_name)r�r��short_opnameris    r-rrzTestArrowArray.get_op_from_name%sC���}�}�S�)���:�%�
'��O�
�[�
(�5�5��"�"�7�+�+r/c��|}|dvr|jd�Sd}t|tj�r3d}|jdd�df}|jdd�dfj
}n|}|j
}|j}	|s�t|tj�r�tjj|	��sEtjj|	�r|dv�s!tjj|	��stjj|	�s�tjj|	�s�tjj|	�s�|S|dk(rtjj|	�s~tjj|	�s_tjj|	�s@tjj|	�s!tjj|	�s|Stj!|j"�}
tjj|
j$�r�tjj|	�r%tjj'|	�rd}n,d	}n)|	j(}t%|�t*t,fvr|d
vrd}|
j/d|�d
��}
�nNtjj|
j$��rtjj|	�r�t1||�|�}t3j4|�}
t|
t6�sJ�|dk(r.t|t8�rt7tj;��}
nw|dk(rGt|tj�r-|j
|k(rt7tj;��}
n+tjj|
j�sJ�|j|
�S|
j/|	�}
t%|j"�|
�}|r.tj||j<|j>��}|Stj|�}|S)N)�eq�ne�lt�le�gt�ge�boolean[pyarrow]FTr)�__truediv__�__rtruediv__�__floordiv__�ms�s)r�rrOz	duration[�]�__pow__)rRr)) r�r�rcr$�ilocr5r3r�r)rVrXr~r^r]r\r[rd�_valuesri�	is_date64rTrrr�r�r��	get_dtyperrr�rRr))r�r��obj�other�pointwise_resultr��	was_frame�
expected_data�original_dtype�orig_pa_type�pa_expectedrTr��	alt_dtype�pd_expecteds               r-�_cast_pointwise_resultz%TestArrowArray._cast_pointwise_result3s[��$���:�:�#�*�*�+=�>�>��	��h����-��I�$�M�M�!�Q�$�/�M� �X�X�a��d�^�1�1�N�$�M� �Y�Y�N�%�3�3���Z��r�y�y�9����$�$�\�2��H�H�'�'��5��'F�F��8�8�'�'��5��8�8�(�(��6��8�8�#�#�L�1��8�8�&�&�|�4� ��
��
&�2�8�8�+>�+>�|�+L��x�x�#�#�L�1��x�x�$�$�\�2��x�x����-��x�x�"�"�<�0��O��h�h�}�4�4�5��
�8�8���� 0� 0�1��x�x����-��8�8�%�%�l�3��D��D�
$�(�(����;�8�Y�"7�7�D�K�<O� �D�%�*�*�Y�t�f�A�+>�?�K�
�X�X�
 �
 ��!1�!1�
2�r�x�x�7J�7J��8
�
(�'�#�w�'��.�C����S�)�I��i��4�4�4��)�#�
�5�'�(B�&�r�z�z�|�4�	��9�$��u�b�i�i�0��K�K�>�1�'�r�z�z�|�4�	��x�x�*�*�9�+B�+B�C�C�C��?�?�9�-�-�&�*�*�<�8�K�1�d�=�0�0�1�+�>����|�|��8�>�>�8�;K�;K��H�
���y�y��-�H��r/c��|dvxs
|dvxrtxrtjj|�xs%|dvxrtjj	|�S)N��__add__�__radd__�r|r}r~�
__rfloordiv__��__sub__�__rsub__)rr)rVr^r�)r��opnameres   r-�_is_temporal_supportedz%TestArrowArray._is_temporal_supported�sn���1�1���W�X�1�0�0�
/����$�$�X�.�

/��0�0�/����$�$�X�.�	
r/c��|dvr|jStj|�}|j}|j	||�}|dvrt
}|S|rd}|S|dvrBtjj|�stjj|�rd}|Stjj|�sPtjj|�s1tjj|�stj}|Sd}|S)N)�
__divmod__�__rdivmod__>�__mod__�__rmod__r�)�
divmod_excr�r�r3r�rbr)rVr`rarXr~r[r�)r�r�r�r�r5re�arrow_temporal_supported�excs        r-�_get_expected_exceptionz&TestArrowArray._get_expected_exception�s���3�3��?�?�"����S�!���&�&��#'�#>�#>�w��#Q� ��
�
�&�C�$�
�#&��C� �
��/�
/��H�H���x�(�B�H�H�,>�,>�x�,H��C��
�
�H�H� � ��*��x�x�"�"�8�,��x�x�"�"�8�,�
�-�-�C��
��C��
r/c��d}|j||�}|dk(r�tjj|�s>tjj	|�stjj|�r%tjjd|����}|S|rotjj|�s#|dvrLtjj|�r-tjjt|�d|�d���}|S|dk(rotjj	|�stjj|�r1tjjtjd	��}|S|d
k(rNtjj|�r/tjjtjd	��}|S)N�__rpow__z<GH#29997: 1**pandas.NA == 1 while 1**pyarrow.NA == NULL for r�r�z  not supported betweenpd.NA and z Python scalarr#r�zdivide by 0r})
r�r)rVrXr~r[r&r'r(r_r^rr*)r�r�rer'r�s     r-�_get_arith_xfail_markerz&TestArrowArray._get_arith_xfail_marker�s�����#'�#>�#>�v�x�#P� ��Z���H�H� � ��*��x�x�"�"�8�,��x�x�"�"�8�,��;�;�$�$��#�*�&�%��D�D��9&��H�H���X�&��S�T��H�H�(�(��2��;�;�$�$� ��h�!�!)�
�.�:�%��D�(����
&��H�H����)�R�X�X�-@�-@��-J��;�;�$�$����$�%��D���
�~�
%�"�(�(�*=�*=�h�*G��;�;�$�$����$�%��D�
�r/c���|jj}|dk(r5tjj	|�rtjd�nv|dvrrtjj	|�stjj|�r4|jt
jjtd���|j||�}|�|j|�t�|�9||�y�Nr�z%Skip testing Python string formatting��__rmul__�__mul__�'Can only string multiply by an integer.r#)r5r3r)rVrar&r�r`r+r'r(rr�r��test_arith_series_with_scalar�r�rf�all_arithmetic_operatorsr,rer'r�s      �r-r�z,TestArrowArray.test_arith_series_with_scalar�s�����:�:�+�+��#�z�1�b�h�h�6H�6H��6R��K�K�?�@�
%�)@�
@��H�H���x�(�B�H�H�,>�,>�x�,H�������!�!�$�-V�"��
��+�+�,D�h�O��������%�
��-�d�4L�Mr/c�:��|jj}|dk(rTtjj	|�stjj|�rt
jd�nv|dvrrtjj|�stjj	|�r4|jtjjtd���|j||�}|�|j|�t�|�9||�yr�)r5r3r)rVr`rar&r�r+r'r(rr�r��test_arith_frame_with_scalarr�s      �r-r�z+TestArrowArray.test_arith_frame_with_scalars�����:�:�+�+��#�z�1��H�H���x�(�B�H�H�,>�,>�x�,H��K�K�?�@�
%�)@�
@��H�H���x�(�B�H�H�,>�,>�x�,H�������!�!�$�-V�"��
��+�+�,D�h�O��������%�
��,�T�3K�Lr/c� �|jj}|dvratjj	|�rB|jtjjtjd|�����nv|dvrrtjj|�stjj|�r4|jtjjtd���|j||�}|�|j|�|}tj|�}tjtj |j"dgt%|�z|j���}|j'|||�y)Nr�zJImplemented pyarrow.compute.subtract_checked which raises on overflow for r#r�r�rrU)r5r3r)rVrZr+r&r'r(r*rar`rr�rcr�rdr��len�check_opname)	r�rfr�r,rer'r�r�r�s	         r-�test_arith_series_with_arrayz+TestArrowArray.test_arith_series_with_array$sF���:�:�+�+��#�(
�
��h�h�*�*�8�4�������!�!��?�?�8�8@�z�C�"��
�&�)@�
@��H�H���x�(�B�H�H�,>�,>�x�,H�������!�!�$�-V�"��
��+�+�,D�h�O��������%�*���i�i��o���	�	�"�(�(�C�H�H�Q�K�=�3�s�8�#;�4�:�:�N�O�����#�w��.r/c����|jj}|jd�rA|jtj
j
tjd|�����t�|�)|�y)N�int8zraises on overflow for r#)r5r3r�r+r&r'r(r)r*r��$test_add_series_with_extension_arrayr�s    �r-r�z3TestArrowArray.test_add_series_with_extension_arrayIsc����:�:�+�+���?�?�6�"�������!�!��?�?�4�X�J�?�"��
�	��4�T�:r/c��tjtd��5||t��ddd�y#1swYyxYw)Nz'.* not implemented for <class 'object'>r�)r&r$rbr�)r�rfr�s   r-�test_invalid_other_compz&TestArrowArray.test_invalid_other_compUs7��
�]�]��'P�
�	*�
�$���)�	*�	*�	*�s	�7�A�masked_dtype)�boolean�Int64r�c��gd�}tj||��}tj||j��d���}|||�}|tjtj
tjfvrgd�}ngd�}tj|ttj����}tj||�y)N)r<rNrUr)FFN)TTN)rcr��lower�operatorrwryrvrr)�bool_r�r�)	r�r�r�rf�
ser_masked�ser_par��expr�s	         r-�test_comp_masked_numpyz%TestArrowArray.test_comp_masked_numpy\s������Y�Y�t�<�8�
����4�,�*<�*<�*>�)?�y�'I�J���v�z�2���X�[�[�(�+�+�x�{�{�C�C�&�C�$�C��9�9�S�
�2�8�8�:�(>�?��
���v�x�0r/)r��	pd.Seriesr�rV�return�bool)r�r�r�rVr�r�)r�rVr�r�)r�rV)r�rVr�ztype[Exception] | None):�__name__�
__module__�__qualname__r�r&r'�parametrizer�r�r4�td�
skip_if_nor�r�r�r�r�r�r�r�r�r�rr	rrrr+r0r3r7r9r;r(r>rFrHrJrr[r`rcrf�_combine_le_expected_dtyperbr�rrr�r�r�r�r�r�r�r�r�r��
__classcell__�r�s@r-r�r�
s'���?��[�[���[�4��*:�;�:�<�:�&�$�[�[������F�L�L�*�-�"�-�-�	�2J�K�	
��
@��
@�
&�=��6�8D�"�,�[�[���X��e�}�5�"4�6�"4�H*�X1�*�[�[���X��e�}�5�Q�6�Q�2�[�[���X��e�}�5�X�6�X�$�$�[�[���X��e�}�5�O�6�O��[�[���U�$B�C��D��
?�(;�(
3�>�
-�&3��[�[���G�U��� �� �
6��[�[���F�E���%��%��[�[���F�E���3��3��[�[���_�y�*�.E�F��[�[���X��X��7�!0�8�G�!0�F&�*�[�[���Y��B��0�)�1�)�6�"1��$�J�,�d�L

�"��"�	�"�H,�\N�(M�,#/�J
;�*��[�[���^�-L�M�1�N�1r/r�c���eZdZdZd�Zejjddgd�fejgd�fdgd�fe
jd�gd�fdgd	�fe
jd�gd	�fg�d
��Zd�Z
ejjddgd�fejgd�fdgd	�fdgd
�fe
jd�gd	�fe
jd�gd
�fg�d��Zd�Zejjddgd�fejgd�fdgd�fe
jd�gd�fe
jd�gd	�fg�d��Zejjdddgddgddgg�d��Zy)�TestLogicalOpsz1Various Series and DataFrame logical ops methods.c��tjdgdzdgdzzdgdzzd��}tjgd�dzd��}||z}tjgd�d��}tj||�||z}tj||�tj|tjdgdzdgdzzdgdzzd���tj|tjgd�dzd���y)NTr!Fr{rU�TFN)	TTTTFNTNN�rcr�r�r��r�rJrKr�r�s     r-�test_kleene_orzTestLogicalOps.test_kleene_orns����I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V���I�I�)�A�-�5G�H���Q����9�9�C�$�
��	���v�x�0��Q���
���v�x�0�	���
��I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V�	
�	���
�r�y�y�,�q�0�8J�K�	
r/zother, expectedN)TNNT)TTTFr�c�*�tjgd�d��}||z}tj|d��}tj||�||z}tj||�tj|tjgd�d���y�Nr�r{rUr��r�r�r�rJr�s     r-�test_kleene_or_scalarz$TestLogicalOps.test_kleene_or_scalar��{��
�I�I�)�1C�D���U����9�9�X�-?�@��
���v�x�0�����
���v�x�0�	���
�r�y�y�,�4F�G�	
r/c��tjdgdzdgdzzdgdzzd��}tjgd�dzd��}||z}tjgd�d��}tj||�||z}tj||�tj|tjdgdzdgdzzdgdzzd���tj|tjgd�dzd���y)NTr!Fr{rUr�)	TFNFFFNFNr�r�s     r-�test_kleene_andzTestLogicalOps.test_kleene_and�s����I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V���I�I�)�A�-�5G�H���Q����9�9�G�$�
��	���v�x�0��Q���
���v�x�0�	���
��I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V�	
�	���
�r�y�y�,�q�0�8J�K�	
r/)NFN�FFFc�*�tjgd�d��}||z}tj|d��}tj||�||z}tj||�tj|tjgd�d���yr�r�r�s     r-�test_kleene_and_scalarz%TestLogicalOps.test_kleene_and_scalar�r�r/c��tjdgdzdgdzzdgdzzd��}tjgd�dzd��}||z}tjgd�d��}tj||�||z}tj||�tj|tjdgdzdgdzzdgdzzd���tj|tjgd�dzd���y)NTr!Fr{rUr�)	FTNTFNNNNr�r�s     r-�test_kleene_xorzTestLogicalOps.test_kleene_xor�s����I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V���I�I�)�A�-�5G�H���Q����9�9�D�$�
��	���v�x�0��Q���
���v�x�0�	���
��I�I�t�f�q�j�E�7�Q�;�.�$��!��;�CU�V�	
�	���
�r�y�y�,�q�0�8J�K�	
r/�NNN)FTNc�*�tjgd�d��}||z}tj|d��}tj||�||z}tj||�tj|tjgd�d���yr�r�r�s     r-�test_kleene_xor_scalarz%TestLogicalOps.test_kleene_xor_scalar�s{��
�I�I�)�1C�D���U����9�9�X�-?�@��
���v�x�0�����
���v�x�0�	���
�r�y�y�,�4F�G�	
r/zop, exp�__and__�__or__�__xor__c�"�gd�}tj|d��}tj|d��}t||�|�}tj|ddgttj����}t
j||�y)Nr�r�rUr{F)rcr�r�rr)r�r�r�)r��opr�rfr�r�r�r�s        r-�test_logical_masked_numpyz(TestLogicalOps.test_logical_masked_numpy�so��#���Y�Y�t�9�5�
����4�'9�:��$����$�Z�0���9�9�c�5�$�/�z�"�(�(�*�7M�N��
���v�x�0r/)r�r�r��__doc__r�r&r'r�rc�NAr�r�r�r�r�r�r�r�r�r/r-r�r�ks���;�
�,�[�[����
�%�&�
�U�U�&�'�
�%�&�
�R�X�X�d�^�/�0�
�'�(�
�R�X�X�e�_�1�2�
	
�
�
�
�
�
�,�[�[����
�&�'�
�U�U�'�(�
�&�'�
�)�*�
�R�X�X�d�^�0�1�
�R�X�X�e�_�3�4�
	
�
�
�
�
�
�,�[�[����
�%�&�
�U�U�&�'�
�&�'�
�R�X�X�d�^�0�1�
�R�X�X�e�_�1�2�	
�	�
�	�
��[�[����
���
�t��
���	
��1��1r/r�r�c��t|�}tjgd�|��}tjgd�|��}||z}tjgd�|��}tj||�||z}tjgd�|��}tj||�||z}tjgd�|��}tj||�|}|jd�j
�}tj||��j|j��}tj||�y)N)r<Nr!r7rU)Nr!rIr7)NNrvr7)NNr<r7)NN�rr)	rrcr�r�r�rDr��mask�isnull)r�r5�left�rightr�r�s      r-�test_bitwiser�s���
�w��E�
�9�9�_�E�2�D��I�I�o�U�3�E�
�E�\�F��y�y�3�5�A�H����6�8�,�
�E�\�F��y�y�3�5�A�H����6�8�,�
�E�\�F��y�y�3�5�A�H����6�8�,��U�F����Q��(�(�*�+�H��y�y���/�4�4�T�[�[�]�C�H����6�8�,r/c��tjtd��5tjd�ddd�tjtd��5tjd�ddd�y#1swY�CxYw#1swYyxYw)NzPassing pyarrow typer�z#not_a_real_dype[s, tz=UTC][pyarrow]zdecimal(7, 2)[pyarrow])r&r$rbrr/r�r/r-�Ftest_arrowdtype_construct_from_string_type_with_unsupported_parametersr�%sz��	���*�2H�	I�P��(�(�)N�O�P�
���*�2H�	I�C��(�(�)A�B�C�C�P�P��C�C�s�A4�B�4A=�B	c�z�tjd�}ttjdd��}||k(sJ�y)Nztimestamp[s, tz=UTC][pyarrow]r��UTC)rr/r)�	timestamp)r5r�s  r-�5test_arrowdtype_construct_from_string_supports_dt64tzr�-s6���,�,�-L�M�E��"�,�,�s�E�2�3�H��H���r/c��d}d}tjt|��5tjtd�|��ddd�y#1swYyxYw)Nzint64[pyarrow]foobar[pyarrow]zYPassing pyarrow type specific parameters \(\[pyarrow\]\) in the string is not supported\.r�r!rU)r&r$rbrcr��range)�invalidr-s  r-�;test_arrowdtype_construct_from_string_type_only_one_pyarrowr4sI��-�G�	%��
���*�#�	6�+�
�	�	�%��(�'�*�+�+�+�s�!A
�
Ac�r�tjddgttj	����}tjddgd��}||z}tjddgttj	����}tj||�||z}tj||�y)	N�abc�defgrUr@r=r��abcabc��rcr�rr)r�r�r�)�binary�repeatr�r��reflected_results     r-� test_arrow_string_multiplicationr?s���
�Y�Y��v��j�����.E�
F�F�
�Y�Y��2�w�&6�
7�F�
�f�_�F��y�y�(�B��z�"�)�)�+�/F�G�H����6�8�,��������6�#3�4r/c�@�tjddgttj	����}|dz}tjddgttj	����}tj||�d|z}tj||�y)NrrrUr@r�defgdefgr)r	r�r�rs    r-�.test_arrow_string_multiplication_scalar_repeatrJsu��
�Y�Y��v��j�����.E�
F�F�
�a�Z�F��y�y�(�J�/�z�"�)�)�+�7N�O�H����6�8�,��6�z�����+�X�6r/�
interpolation)�linearr��higher�nearest�midpoint�quantiler;c��|jj}|jgd��}tj|�}t
jj|�s>t
jj|�st
jj|�rDd}tjt
j|��5|j||��ddd�yt
jj|�s>t
jj|�st
jj!|�rnut
jj#|j$j&�rnA|j)tj*j-t
jd|�����|jgd��}tj|�}|j||��}t
jj/|�r�|dvr�|j0rd|j2�d	|j0�d
�}nd|j2�d
�}|j5|�}	|	j||��}
|dk(r)|j2dk(r|
j7d
��}
||
k(sJ�y|j2dk(r|
j8j;d�}
t=j>||
j5|j��y|dk(r||dk(sJ�ytj|jddg�ddg��}
t
jj|�s>t
jj|�st
jj!|�r"|
j5d�}
|j5d�}t=j>||
�y#1swYyxYw)N�rrrz=Function 'quantile' has no kernel matching input types \(.*\)r�)�qrz&quantile not supported by pyarrow for r#)r�rzM8[z, r�r;rOF)�warnr�rRr) r5r3�takercr�r)rVr`rarWr&r$r�rr~rXr[r�r�rir+r'r(r]r�rTr��
to_pydatetime�dt�floorr�r�)rfrrr,rer�r-r��pd_dtype�ser_npr�s           r-�
test_quantiler!Ss���
�z�z�'�'�H��9�9�Y��D�
�)�)�D�/�C�	�����8�$�
�8�8���h�'�
�8�8���x�(�O��
�]�]�2�6�6�c�
B�	B��L�L�8�=�L�A�	B��	�����H�%�
�8�8����)�
�8�8���x�(��	���	�	�d�n�n�1�1�	2������K�K����2�2�?��z�J�
�
�	
��9�9�Y��D�
�)�)�D�/�C�
�\�\�H�M�\�
B�F�	�x�x���X�&�=�@S�+S��;�;��X�]�]�O�2�h�k�k�]�!�<�H��X�]�]�O�1�-�H����H�%���?�?�X�]�?�K���s�?��}�}��$�#�1�1�u�1�=���X�%�%�%�
	��}�}��$�#�;�;�,�,�T�2���"�"�6�8�?�?�4�:�:�+F�G���3����a�� � � ��9�9�T�Y�Y��1�v�.�s�C�j�A���H�H����)��x�x�#�#�H�-��x�x�"�"�8�,����'9�:�H��]�]�#5�6�F�
���v�x�0�q	B��s�O�Oztake_idx, exp_idx)rrr@r@r7r7r7)rrrr@r7r7�
multi_mode�single_mode)r1c���|j|�}tj|�}|jd��}tj|j|��}t	j
||�y)NT��dropna)rrcr��moder�r�)rt�take_idx�exp_idxrfr�r�r�s       r-�test_mode_dropna_truer*�s[���!�!�(�+�D�
�)�)�D�/�C�
�X�X�T�X�
"�F��y�y�*�/�/��8�9�H����6�8�,r/c��tjdd|dg|j��}|jd��}tjdg|j��}t	j
||�tj|ddg|j��}|jd��}t	j
||�y)NrrUFr%)rcr�r5r'r�r�)rf�	more_nansr�r�s    r-�test_mode_dropna_false_mode_nar-�s����	�	�4��t�A�w�/�t�z�z�B�I�
�^�^�5�^�
)�F��y�y�$��t�z�z�2�H����6�8�,��y�y�$�q�'�4���
�
�;�H�
�]�]�%�]�
(�F����6�8�,r/zarrow_dtype, expected_type��f1�f2c�8�t|�j|k(sJ�yr�)rri)�arrow_dtype�
expected_types  r-�test_arrow_dtype_typer4�s��"�k�"�'�'�=�8�8�8r/c�h�ttjgd���}t|�sJ�tj
jj|�sJ�t	jtt|���}||}|tj|�}tj||�y)N�TFT)r r)rdrrc�core�common�is_bool_indexerr�rr�r��asarrayr�r�)rfr�r�r�s    r-�test_is_bool_dtyper;�s����r�x�x�(;�<�=�D������
�7�7�>�>�)�)�$�/�/�/�
�	�	�%��D�	�"�#�A�
�t�W�F�����D�!�"�H����6�8�,r/c� �|jj}tjj	|�s>tjj|�stjj
|�rt|�sJ�yt|�rJ�yr�)r5r3r)rVrXr~r[r�rfr�s  r-�test_is_numeric_dtyper>�sf���j�j�&�&�G�
�����W�%�
�8�8���w�'�
�8�8���w�'���%�%�%�#�D�)�)�)�)r/c��|jj}tjj	|�rt|�sJ�yt|�rJ�yr�)r5r3r)rVr~rr=s  r-�test_is_integer_dtyper@�sB���j�j�&�&�G�	�x�x���7�#���%�%�%�#�D�)�)�)�)r/c��|jj}tjj	|�rt|�sJ�yt|�rJ�yr�)r5r3r)rVrYrr=s  r-�test_is_signed_integer_dtyperB�sB���j�j�&�&�G�	�x�x�!�!�'�*�&�t�,�,�,�*�4�0�0�0�0r/c��|jj}tjj	|�rt|�sJ�yt|�rJ�yr�)r5r3r)rVrZrr=s  r-�test_is_unsigned_integer_dtyperD�sB���j�j�&�&�G�	�x�x�#�#�G�,�(��.�.�.�,�T�2�2�2�2r/c��|jj}tjj	|�rt|�sJ�yt|�rJ�yr�)r5r3r)rVrXrr=s  r-�test_is_float_dtyperF�sB���j�j�&�&�G�	�x�x���G�$��d�#�#�#�!�$�'�'�'�'r/c��tj|�}|jd�}tj|�}tj|�}t|�t|�kDsJ�tj|�}tj||�tj|�}tj||�y)Nr@)	rcr��head�pickle�dumpsr��loadsr�r�)rfr��expected_sliced�full_pickled�sliced_pickledr��
result_sliceds       r-�test_pickle_roundtriprPs����y�y���H��m�m�A�&�O��<�<��)�L��\�\�/�2�N��|��s�>�2�2�2�2�
�\�\�,�
'�F����6�8�,��L�L��0�M����=�/�:r/c��|jj�j}|j|j�}t|jt�rJ�t|jt�sJ�tj||�yr�)	r��	to_pandasrdr�r5r�rr�r�)rf�pd_arrayr�s   r-�test_astype_from_non_pyarrowrTsd���~�~�'�'�)�/�/�H�
�_�_�T�Z�Z�
(�F��(�.�.�*�5�5�5��f�l�l�J�/�/�/��#�#�F�D�1r/c��tjdg�}|jd�}tjdgd��}tj||�y)N�1.0rr9rU�rcr�r�r�r��r�r�r�s   r-�&test_astype_float_from_non_pyarrow_strrYsD��
�)�)�U�G�
�C�
�Z�Z�*�
+�F��y�y�#��&8�9�H����6�8�,r/c��tjddgid��}|jdd��}tj||�y)N�coli@fr�rU�float[pyarrow]r�)�errors)rcr$r�r�rY)r�r�s  r-�test_astype_errors_ignorer^'s=���|�|�U�X�J�/�7G�H�H�
�_�_�-�h�_�
?�F����&�(�+r/c��|j�}|jj}tjj|�stjj
|�rtjd�n]tjj|�rtjt|��}ntj|j�}|jrPt|j�s;j!t"�}t$j&|t%j(|�<t+j,|�y)Nz Tested in test_to_numpy_temporal)r�r�rir)rVr^r]r&r�r\r�rd�list�_hasnarr5r�r�rcr�rCr�r�)rfr�r�r�s    r-�test_to_numpy_with_defaultsrb.s���
�]�]�_�F��n�n�!�!�G�	�x�x���G�$����(=�(=�g�(F����6�7�	���	�	�'�	"��8�8�D��J�'���8�8�D�N�N�+���{�{�+�D�J�J�7��?�?�6�*��"$�%�%�������������1r/c��ddg}tj|d��}|j�}tjdtjg�}t|dt�sJ�tj||�y)Nr<r�rUr)	rcrdr�r�r�r��floatr�r�)rfrr�r�s    r-�test_to_numpy_int_with_nareAsa��
�t�9�D�
�(�(�4�/�
0�C�
�\�\�^�F��x�x��B�F�F��$�H��f�Q�i��'�'�'������1r/zna_val, exp)r<r<c��tjtjtjgd��}|jd|��}t	j|gdzd��}tj||�y)N�
null[pyarrow]rUr�r�r@�rcrdr�r�r�r�r�)�na_valr�rr�r�s     r-�test_to_numpy_null_arrayrjKsX��
�(�(�B�E�E�2�5�5�>��
9�C�
�\�\�	�F�\�
;�F��x�x����	��3�H������1r/c��tjtjtjgd��}|jd��}t	jtjgdzd��}tj||�y)NrgrUr@r�rh�rr�r�s   r-�!test_to_numpy_null_array_no_dtypermTsX��
�(�(�B�E�E�2�5�5�>��
9�C�
�\�\��\�
%�F��x�x�����!��8�4�H������1r/c���tjdtjgd��}|jd��}t	jddgtj
��}t
j||�tjdtjgd��}|jd��}t	jddgtj��}t
j||�y)	NTr{rUF)r�r9r�r:)	rcrdr�r�r�r�r�r��float32rls   r-�test_to_numpy_without_dtyperp\s���
�(�(�D�"�%�%�=�(:�
;�C�
�\�\�5�\�
)�F��x�x��u�
�R�X�X�6�H������1�
�(�(�C����<�'9�
:�C�
�\�\�3�\�
'�F��x�x��c�
�"�*�*�5�H������1r/c���|j�}|j�}|d|ddtj|dgt|�z|j��}tj||�|j�}|ddd�|dd|ddd�}tj||�|j�}|j�|dd|}tj||�y)NrrUr>)�copyr rjr�r5r�r��tolist)rf�origr�r�s    r-�test_setitem_null_sliceruis����9�9�;�D�
�Y�Y�[�F��Q��F�1�I�"�1�1�	
�a��	�C��I���j�j��H��#�#�F�H�5�
�Y�Y�[�F��T�r�T�
�F�1�I��D�b�D�z�H��#�#�F�H�5�
�Y�Y�[�F����
�F�1�I��H��#�#�F�H�5r/c��|jj}tjj	|�stjj|�rd}t}d}n|tjj|�s>tjj|�stjj|�rd}tj}d}n
d}t}d}tj||��5||ddddd�y#1swYyxYw)N�{zInvalid value '123' for dtype�foozCould not convertzInvalid value 'foo' for dtyper�)
r�rir)rVr`rarr~rXrWr*r&r$)rfr��
fill_value�errr-s     r-�test_setitem_invalid_dtyper{�s����n�n�!�!�G�	�x�x���'�"�b�h�h�&8�&8��&A��
���-��
�����G�$�
�8�8����(�
�8�8���w�'��
��o�o��!���
���-��	���s�#�	&����Q�����s�3D�Dc��tjtjd�tjd�gtj	���}|jtj	�t
tj��ij��}tjtjd�tjd�gt
tj����}tj||�y)Nz
2019-12-31�ri��types_mapperrU)r)rdrc�	Timestamp�date32rRr�date64�getr�r�r�)�
date_arrayr�r�s   r-�&test_from_arrow_respecting_given_dtyper��s������	���l�	#�R�\�\�,�%?�@�r�y�y�{���J��
!�
!��i�i�k�:�b�i�i�k�#:�;�?�?�"��F��y�y�	���l�	#�R�\�\�,�%?�@������%��H����6�8�,r/c�d�tjddgtj���}tjtj
d��5|j
tj�ttj��ij��ddd�y#1swYyxYw)Nr�@r}zFloat value 1.5 was truncatedr�r~)
r)rdr�r&r$r*rRrrr�)rds r-�-test_from_arrow_respecting_given_dtype_unsafer��st���H�H�c�3�Z�b�j�j�l�H�3�E�	���r���.M�	N�Q�
���b�j�j�l�J�r�x�x�z�4J�%K�%O�%O��P�Q�Q�Q�s
�AB&�&B/c���d}tjdddtjg|��}|jd�}tjdddtjg|��}t	j
||�tjd	tjd
g|��}|jd�}tjdtjd
g|��}t	j
||�y)Nrr:g�G�z��?g{�G�z@rUr<g333333�?g������@g������^@g�p=
�cL@r>g^@gN@)rcr�r��roundr�r��r5r�r�r�s    r-�
test_roundr��s����E�
�)�)�S�$��b�e�e�,�E�
:�C�
�Y�Y�q�\�F��y�y�#�s�C����/�u�=�H����6�8�,�
�)�)�U�B�E�E�5�)��
7�C�
�Y�Y�r�]�F��y�y�%�����-�U�;�H����6�8�,r/c��|\}}}|jgd��}tj|d<|rtj|�}d}t	j
t|��5|j|�ddd�y#1swYyxYw)N)r@rr<r>zOsearchsorted requires array to be sorted, which is impossible with NAs present.r�)rrcr�r�r&r$rU�searchsorted)rx�	as_seriesrKrorJrr-s       r-� test_searchsorted_with_na_raisesr��sw���G�A�q�!�
�
�
�	�
*�C��e�e�C��G���i�i��n��	0��
���z��	-����������s�!A<�<Bc�\�tjtjddgttjtj
�tj�����ddgd��}|j�}|jddg�	�}tj||�y)
Nr�rmrUr<r@�rJrKrJrK)�by)rcr$r�rr)�
dictionary�int32r�rr�sort_valuesr�rY)r,r�r�s   r-�test_sort_values_dictionaryr��s���	�������c�
�*�R�]�]�2�8�8�:�r�y�y�{�-S�"T���Q��		
�
�B��w�w�y�H�
�^�^��S�z�^�
*�F����&�(�+r/�patrz	a[a-z]{2}c�6�tjddgttj	����}|j
j
|�}tjddgttj����}tj||�y)NrrUr<)
rcr�rr)r�rVr�r�r�r�)r�r�r�r�s    r-�test_str_countr��sb��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�]�]�3�
�F��y�y�!�T��*�R�X�X�Z�*@�A�H����6�8�,r/c��tjddgttj	����}tjtd��5|jjdd��ddd�y#1swYyxYw)NrrUz	count notr�r<��flags)
rcr�rr)r�r&r$rbrVr��r�s r-� test_str_count_flags_unsupportedr��sY��
�)�)�U�D�M��B�I�I�K�)@�
A�C�	���*�+�	>�&����
�
�e�1�
�%�&�&�&���A7�7Bzside, str_funcr��rjustr��ljust�both�centerc�^�tjddgttj	����}|j
j
d|d��}tjtd|�dd�dgttj	����}tj||�y)NrJrUr!r�)�width�side�fillchar)
rcr�rr)r�rV�padr�r�r�)r��str_funcr�r�r�s     r-�test_str_padr��s���
�)�)�S�$�K�z�"�)�)�+�'>�
?�C�
�W�W�[�[�q�t�c�[�
:�F��y�y�	���h�	��3�	'��.�j�����6M��H����6�8�,r/c��tjddgttj	����}tjtd��5|jjddd�ddd�y#1swYyxYw)NrJrUzInvalid side: foor�r!rxr�)
rcr�rr)r�r&r$rUrVr�r�s r-�test_str_pad_invalid_sider��sY��
�)�)�S�$�K�z�"�)�)�+�'>�
?�C�	���z�)<�	=�#������A�u�c�"�#�#�#�r�zpat, case, na, regex, exp�abFT�Abz	a[a-z]{1}z	A[a-z]{1}c�:�tjddgttj	����}|j
j
||||��}tj|ttj����}tj||�y)NrrU)�case�na�regex)
rcr�rr)r�rV�containsr�r�r�)r�r�r�r�r�r�r�r�s        r-�test_str_containsr��sk��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�
�
�c���5�
�
A�F��y�y��J�r�x�x�z�$:�;�H����6�8�,r/c��tjddgttj	����}tjtd��5|jjdd��ddd�y#1swYyxYw)NrrUzcontains notr�rJr<r�)
rcr�rr)r�r&r$rbrVr�r�s r-�#test_str_contains_flags_unsupportedr�	s\��
�)�)�U�D�M��B�I�I�K�)@�
A�C�	���*�.�	A�'�������A��&�'�'�'�r�zside, pat, na, exp�
startswith)TNFrKr��endswith)FTF�bc)rJ�e�g)TNT)rJror�r�)FNFc�8�tjgd�ttj	����}t|j|�||��}tj|ttj����}tj||�y)N)rN�efgrU)r��
rcr�rr)r�r�rVr�r�r�)r�r�r�r�r�r�r�s       r-�test_str_start_ends_withr�sd��
�)�)�(�
�2�9�9�;�0G�
H�C�
#�W�S�W�W�d�
#�C�B�
/�F��y�y��J�r�x�x�z�$:�;�H����6�8�,r/r�)r�r�c�8�tjddgttj	����}t|j|�d�}tjddgttj����}tj||�y)NrUr�r�)r�r�r�r�s    r-�/test_str_starts_ends_with_all_nulls_empty_tupler�#si��
�)�)�T�4�L�
�2�9�9�;�(?�
@�C�
#�W�S�W�W�d�
#�B�
'�F��y�y�$���Z����
�-C�D�H����6�8�,r/z
arg_name, arg�replr�r�r<c��tjddgttj	����}dddd�}|||<tjtd��5|jjd	i|��ddd�y#1swYyxYw)
NrrUrKr�T)r�r�r�zreplace is not supportedr�r�)
rcr�rr)r�r&r$rbrV�replace)�arg_name�argr��kwargss    r-�test_str_replace_unsupportedr�-ss��

�)�)�U�D�M��B�I�I�K�)@�
A�C��#��
5�F��F�8��	���*�2L�	M�"�������!�&�!�"�"�"�s�B�B
zpat, repl, n, regex, exprJr�r>�xbxc�xbacz[a-b]�xxxcc�:�tjddgttj	����}|j
j
||||��}tj|ttj	����}tj||�y)N�abacrU)�nr��	rcr�rr)r�rVr�r�r�)r�r�r�r�r�r�r�r�s        r-�test_str_replacer�9sh��
�)�)�V�T�N�*�R�Y�Y�[�*A�
B�C�
�W�W�_�_�S�$�!�5�_�
9�F��y�y��J�r�y�y�{�$;�<�H����6�8�,r/c�<�tjddgttj	����}|j
j
dddd�}tjddgttj	����}tj||�y)	Nr�aaaaaarUrJr���Tr�r�)r��actualr�s   r-�test_str_replace_negative_nr�Hsi��
�)�)�U�H�%�Z��	�	��-D�
E�C�
�W�W�_�_�S�"�b�$�
/�F��y�y�$���:�b�i�i�k�+B�C�H����8�V�,r/c��tjddgttj	����}tjtd��5|jjddg�ddd�y#1swYyxYw)NrrUz
repeat is notr�r<r@)
rcr�rr)r�r&r$rbrVr
r�s r-�test_str_repeat_unsupportedr�PsY��
�)�)�U�D�M��B�I�I�K�)@�
A�C�	���*�/�	B��������1�v�����r�c�6�tjddgttj	����}|j
j
d�}tjddgttj	����}tj||�y)NrrUr@r)	rcr�rr)r�rVr
r�r�rXs   r-�test_str_repeatr�Vsc��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�^�^�A�
�F��y�y�(�D�)��B�I�I�K�1H�I�H����6�8�,r/zpat, case, na, expc�8�tjddgttj	����}|j
j
|||��}tj|ttj����}tj||�y)NrrU�r�r��
rcr�rr)r�rVr�r�r�r��r�r�r�r�r�r�r�s       r-�test_str_matchr�]sf��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�]�]�3�T�b�]�
1�F��y�y��J�r�x�x�z�$:�;�H����6�8�,r/)TTFN�Abc)FFFN�abc$�TFFNzabc\$�FTFNzAbc$zAbc\$c�8�tjgd�ttj	����}|j
j
|||��}tj|ttj����}tj||�y)N)rr�z$abcNrUr�r�r�s       r-�test_str_fullmatchr�osc��"
�)�)�1��B�I�I�K�9P�
Q�C�
�W�W�]�]�3�T�b�]�
1�F��y�y��J�r�x�x�z�$:�;�H����6�8�,r/zsub, start, end, exp, exp_typr!c��tjddgttj	����}|j
j
|||��}tj|t|���}tj||�y)NrrU)�start�end)	rcr�rr)r�rV�findr�r�)�subr�r�r��exp_typr�r�r�s        r-�
test_str_findr��s`��

�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�\�\�#�U��\�
4�F��y�y��J�w�$7�8�H����6�8�,r/c�<�tjddgttj	����}|j
j
ddd��}tjddgttj����}tj||�y)NrrUrKi���r!)r�r�r�r<)
rcr�rr)r�rVr�rr�r�rXs   r-�test_str_find_negative_startr��sh��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�\�\�c��A�\�
6�F��y�y�!�T��*�R�X�X�Z�*@�A�H����6�8�,r/c��tjddgttj	����}tjtd��5|jjdd��ddd�y#1swYyxYw)NrrUzfind not implementedr�r�r<)r�)
rcr�rr)r�r&r$rbrVr�r�s r-�test_str_find_notimplementedr��sZ��
�)�)�U�D�M��B�I�I�K�)@�
A�C�	���*�2H�	I�$������T���#�$�$�$�r�zi, exp)rKr�N)ror�Nr@)roNNr�)rJNNr�c�2�tjgd�ttj	����}|j
j
|�}tj|ttj	����}tj||�y)N)r�deNrU)	rcr�rr)r�rVr�r�r�)rr�r�r�r�s     r-�test_str_getr��s\��
�)�)�'�z�"�)�)�+�/F�
G�C�
�W�W�[�[��^�F��y�y��J�r�y�y�{�$;�<�H����6�8�,r/z=TODO: StringMethods._validate should support Arrow list typesr�c
�Z�tjttj	td�td�dg���}|jjd�}tjgd�ttj����}tj||�y)Nr�123�=�za=b=cz1=2=3NrU)rcr�r r)rdr`rV�joinrr�r�r�rXs   r-�
test_str_joinr��sn��

�)�)�'����$�u�+�t�E�{�D�1Q�(R�S�
T�C�
�W�W�\�\�#�
�F��y�y�1��B�I�I�K�9P�Q�H����6�8�,r/c�4�tjttj	gd����}|j
j
d�}tjgd�ttj����}tj||�y)N)rr�Nr�r�rU)rcr�r r)rdrVr�rr�r�r�rXs   r-�test_str_join_string_typer��s^��
�)�)�'����1E�(F�G�
H�C�
�W�W�\�\�#�
�F��y�y�1��B�I�I�K�9P�Q�H����6�8�,r/zstart, stop, step, expc�6�tjddgttj	����}|j
j
|||�}tj|ttj	����}tj||�y�N�abcdrU)	rcr�rr)r�rV�slicer�r�)r��stop�stepr�r�r�r�s       r-�test_str_slicer�sd��
�)�)�V�T�N�*�R�Y�Y�[�*A�
B�C�
�W�W�]�]�5�$��
-�F��y�y��J�r�y�y�{�$;�<�H����6�8�,r/zstart, stop, repl, exp�axcd�xcd�cdc�6�tjddgttj	����}|j
j
|||�}tj|ttj	����}tj||�yr�)	rcr�rr)r�rV�
slice_replacer�r�)r�rr�r�r�r�r�s       r-�test_str_slice_replacer�sf��
�)�)�V�T�N�*�R�Y�Y�[�*A�
B�C�
�W�W�
"�
"�5�$��
5�F��y�y��J�r�y�y�{�$;�<�H����6�8�,r/zvalue, method, exp)�a1c�isalnumT)z!|,r
F)�aaa�isalphaT)z!!!rF)u٠�	isdecimalT)z~!r
F)rL�isdigitT)�~rF)r�islowerT)�aaArF)r��	isnumericT)�11IrF)� �isspaceT)rrF)zThe That�istitleT)zthe ThatrF)�AAA�isupperT)�AAcrFc�6�tj|dgttj	����}t|j|��}tj|dgttj����}tj||�yr�r�)�valuerBr�r�r�r�s      r-�test_str_is_functionsr�sg��0
�)�)�U�D�M��B�I�I�K�)@�
A�C�
%�W�S�W�W�f�
%�
'�F��y�y�#�t��J�r�x�x�z�,B�C�H����6�8�,r/zmethod, exp�
capitalizezAbc def�titlezAbc Def�swapcasezAbC Defr�zabc def�upperzABC DEF�casefoldc�6�tjddgttj	����}t|j|��}tj|dgttj	����}tj||�y)NzaBc dEFrU�	rcr�rr)r�r�rVr�r�)rBr�r�r�r�s     r-�test_str_transform_functionsr$�sh��
�)�)�Y��%�Z��	�	��-D�
E�C�
%�W�S�W�W�f�
%�
'�F��y�y�#�t��J�r�y�y�{�,C�D�H����6�8�,r/c�4�tjddgttj	����}|j
j
�}tjddgttj����}tj||�y)Nr�rUr7)
rcr�rr)r�rVr�r�r�r�rXs   r-�test_str_lenr&s_��
�)�)�V�T�N�*�R�Y�Y�[�*A�
B�C�
�W�W�[�[�]�F��y�y�!�T��*�R�X�X�Z�*@�A�H����6�8�,r/zmethod, to_strip, val)rqNz abc )rqr��xabcx)�lstripNz abc)r(r��xabc)�rstripNzabc )r*r��abcxc�:�tj|dgttj	����}t|j|�|��}tjddgttj	����}tj||�y)NrU)�to_striprr#)rBr-�valr�r�r�s      r-�test_str_stripr/si��
�)�)�S�$�K�z�"�)�)�+�'>�
?�C�
%�W�S�W�W�f�
%�x�
8�F��y�y�%���j�����.E�F�H����6�8�,r/r.�abc123c�6�tj|dgttj	����}|j
j
d�}tjddgttj	����}tj||�y�NrUr�r)	rcr�rr)r�rV�removesuffixr�r��r.r�r�r�s    r-�test_str_removesuffixr5)�d��
�)�)�S�$�K�z�"�)�)�+�'>�
?�C�
�W�W�
!�
!�%�
(�F��y�y�%���j�����.E�F�H����6�8�,r/�123abcc�6�tj|dgttj	����}|j
j
d�}tjddgttj	����}tj||�yr2)	rcr�rr)r�rV�removeprefixr�r�r4s    r-�test_str_removeprefixr:1r6r/r]r��strictz
encoding, exp�utf8sabc�utf32s��abcc�8�tjddgttj	����}|j
j
||�}tj|dgttj����}tj||�y�NrrU)
rcr�rr)r�rV�encoder	r�r�)r]�encodingr�r�r�r�s      r-�test_str_encoderB9sf��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�^�^�H�f�
-�F��y�y�#�t��J�r�y�y�{�,C�D�H����6�8�,r/c	�d�tjgd�ttj	����}|j
j
d|��}tjdggdgttjtj	�����}tj||�y)N)rr�NrUrKr�)
rcr�rr)r�rV�findall�list_r�r�)r�r�r�r�s    r-�test_str_findallrFHsq��
�)�)�(�
�2�9�9�;�0G�
H�C�
�W�W�_�_�S��_�
.�F��y�y�3�%��T�*�*�R�X�X�b�i�i�k�=R�2S�T�H����6�8�,r/rBrR�rindexz
start, endc���tjddgttj	����}t|j|�d||�}tjddgttj����}tj||�tjtd��5t|j|�d||�ddd�y#1swYyxYw)N�abcbarUror@zsubstring not foundr�rx)
rcr�rr)r�r�rVrr�r�r&r$rU)rBr�r�r�r�r�s      r-�test_str_r_indexrJPs���
�)�)�W�d�O�:�b�i�i�k�+B�
C�C�
%�W�S�W�W�f�
%�c�5�#�
6�F��y�y�!�T��*�R�X�X�Z�*@�A�H����6�8�,�	���z�)>�	?�4� ������ ���s�3�4�4�4�s�8C � C)�form�NFC�NFKCc���tjddgttj	����}|j
j
|�}|j�}tj||�yr?)
rcr�rr)r�rV�	normalizerrr�r�)rKr�r�r�s    r-�test_str_normalizerPbsP��
�)�)�U�D�M��B�I�I�K�)@�
A�C�
�W�W�
�
�t�
$�F��x�x�z�H����6�8�,r/c�:�tjgd�ttj	����}|j
j
d||�}tjgd�ttj����}tj||�y)N)rIrxNrUro)r@r>N)
rcr�rr)r�rV�rfindrr�r�)r�r�r�r�r�s     r-�test_str_rfindrSjsa��
�)�)�*�*�R�Y�Y�[�2I�
J�C�
�W�W�]�]�3��s�
+�F��y�y��j�����.D�E�H����6�8�,r/c�:�tjddgttj	����}|j
j
ddi�}tjddgttj	����}tj||�y)NrIrU�arK�bbcbb)	rcr�rr)r�rV�	translater�r�rXs   r-�test_str_translaterXxsh��
�)�)�W�d�O�:�b�i�i�k�+B�
C�C�
�W�W�
�
��C�y�
)�F��y�y�'�4��
�2�9�9�;�0G�H�H����6�8�,r/c�6�tjddgttj	����}|j
j
d�}tjddgttj	����}tj||�y)NrIrUr!zabc
ba)	rcr�rr)r�rV�wrapr�r�rXs   r-�
test_str_wrapr[sb��
�)�)�W�d�O�:�b�i�i�k�+B�
C�C�
�W�W�\�\�!�_�F��y�y�)�T�*�*�R�Y�Y�[�2I�J�H����6�8�,r/c�H�tjgd�ttj	����}|j
j
�}tjgd�gd�gd�gttj��gd���}tj||�y)N)za|bNza|crU)TTFr�r6)rJrKro)r5r))rcr�rr)r�rV�get_dummiesr$r�r�rYrXs   r-�test_get_dummiesr^�sm��
�)�)�(�
�2�9�9�;�0G�
H�C�
�W�W�
 �
 �
"�F��|�|�	�3�5H�I������$���H�
���&�(�+r/c��tjddgttj	����}|j
j
d�}tjgd�gd�gttj	����}tj||�|j
j
dd��}tjttjgd�dg���}tj||�|j
jd�}tjgd�gd�gttj	����}tj||�|j
jdd��}tjttjgd�dg���}tj||�y)	NrIrUrK)rJrK�cbar�F��expand)rrKrJ)rcr�rr)r�rV�	partitionr$r�rYr rdr��
rpartitionrXs   r-�test_str_partitionre�sM��
�)�)�W�d�O�:�b�i�i�k�+B�
C�C�
�W�W�
�
�s�
#�F��|�|�	�.�/�z�"�)�)�+�7N��H����&�(�+�
�W�W�
�
�s�5�
�
1�F��y�y�,�R�X�X�7H�$�6O�-P�Q�R�H����6�8�,�
�W�W�
�
��
$�F��|�|�	�.�/�z�"�)�)�+�7N��H����&�(�+�
�W�W�
�
��E�
�
2�F��y�y�,�R�X�X�7H�$�6O�-P�Q�R�H����6�8�,r/�rsplit�splitc�8�tjddgttj	����}t|j|��}tjttjgd�dg���}tj||�y)Nza1 cbc
brU)�a1�cbcrK)rcr�rr)r�r�rVr rdr�r��rBr�r�r�s    r-�test_str_split_pat_nonerl�sl��
�)�)�[�$�'�z�"�)�)�+�/F�
G�C�
%�W�S�W�W�f�
%�
'�F��y�y�,�R�X�X�7I�4�6P�-Q�R�S�H����6�8�,r/c	��tjgd�ttj	����}|j
j
d�}tjttjgd�gd�dg���}tj||�|j
j
dd��}tjttjdd	gd
d	gdg���}tj||�|j
j
dd�
�}tjttjddgddgdg���}tj||�|j
j
ddd��}tjttjgd���ttjgd���d��}tj||�|j
j
dd��}tjttjgd���ttjgd���d��}tj||�y)N��a1cbcb�a2cbcbNrUro�rirKrK��a2rKrKr<�r�ri�bcbrsz[1-2]T)r�rJ�cbcb)r�rb)rJrJN)rvrvN�rr<rAra�rJrpN�rvNN)
rcr�rr)r�rVrgr rdr�r�r$rYrXs   r-�test_str_splitrz�s���
�)�)�.�j�����6M�
N�C�
�W�W�]�]�3�
�F��y�y��B�H�H�&6�8H�$�%O�P�Q��H����6�8�,�
�W�W�]�]�3�!�]�
$�F��y�y��B�H�H�t�U�m�d�E�]�D�%I�J�K��H����6�8�,�
�W�W�]�]�7�$�]�
/�F��y�y��B�H�H�s�F�m�c�6�]�D�%I�J�K��H����6�8�,�
�W�W�]�]�7�$�t�]�
<�F��|�|�"�2�8�8�,<�#=�>�"�2�8�8�,B�#C�D�	
��H����&�(�+�
�W�W�]�]�3�t�]�
,�F��|�|�"�2�8�8�,A�#B�C�"�2�8�8�,@�#A�B�	
��H����&�(�+r/c	�2�tjgd�ttj	����}|j
j
d�}tjttjgd�gd�dg���}tj||�|j
j
dd��}tjttjdd	gd
d	gdg���}tj||�|j
j
ddd��}tjttjgd
���ttjgd���d��}tj||�|j
j
dd��}tjttjgd���ttjgd���d��}tj||�y)NrnrUrorqrrr<rt�a1cbrK�a2cbT)r�rb)r|r}N)rKrKNrwrArarxry)
rcr�rr)r�rVrfr rdr�r�r$rYrXs   r-�test_str_rsplitr~�s���
�)�)�.�j�����6M�
N�C�
�W�W�^�^�C�
 �F��y�y��B�H�H�&6�8H�$�%O�P�Q��H����6�8�,�
�W�W�^�^�C�1�^�
%�F��y�y��B�H�H�v�s�m�f�c�]�D�%I�J�K��H����6�8�,�
�W�W�^�^�C�1�T�^�
2�F��|�|�"�2�8�8�,B�#C�D�"�2�8�8�,<�#=�>�	
��H����&�(�+�
�W�W�^�^�C��^�
-�F��|�|�"�2�8�8�,A�#B�C�"�2�8�8�,@�#A�B�	
��H����&�(�+r/c��tjgd�ttj	����}tjtd��5|jjd�ddd�y#1swYyxYw)N�ri�b2�c3rUz*pat=.* must contain a symbolic group name.r�z[ab](\d))
rcr�rr)r�r&r$rUrV�extractr�s r-�test_str_extract_non_symbolicr��sR��
�)�)�&�j�����.E�
F�C�	���z�)U�	V�%�������$�%�%�%�s�A5�5A>rbc	�z�tjgd�ttj	����}|j
j
d|��}tjttjgd���ttjgd���d��}tj||�y)Nr�rUz(?P<letter>[ab])(?P<digit>\d)ra)rJrKN�rArLN)�letter�digit)rcr�rr)r�rVr�r$r rdr�rY)rbr�r�r�s    r-�test_str_extractr�	s~��
�)�)�&�j�����.E�
F�C�
�W�W�_�_�=�f�_�
M�F��|�|�)�"�(�(�3C�*D�E�(����2B�)C�D�	
��H����&�(�+r/c	��tjgd�ttj	����}|j
j
dd��}tjdttjgd���i�}tj||�|j
j
dd��}tjttjgd���d�	�}tj||�y)
Nr�rUz[ab](?P<digit>\d)Trar�r�F�r)
rcr�rr)r�rVr�r$r rdr�rYr�rXs   r-�test_str_extract_expandr�	s���
�)�)�&�j�����.E�
F�C�
�W�W�_�_�1�$�_�
?�F��|�|��(����2B�)C�D�	
��H�
���&�(�+�
�W�W�_�_�1�%�_�
@�F��y�y�,�R�X�X�6F�-G�H�w�W�H����6�8�,r/rT)rPrOrr�c���ddg}tj|�}tj||��}ttj	ddg|���}tj||�y)N�1000�NaTrU��r})r)�durationr r�rdr�r�)rT�stringsr�r�r�s     r-�#test_duration_from_strings_with_natr�	sX���u�o�G��k�k�$��G�
 �
:�
:�7�'�
R�F�"�2�8�8�T�4�L�w�8�#G�H�H��#�#�F�H�5r/c��|jj}tjj	|�sDtjtd��5tj|�jddd�yy#1swYyxYw)Nz2Can only use .dt accessor with datetimelike valuesr�)r5r3r)rVr�r&r$�AttributeErrorrcr�rrs  r-�test_unsupported_dtr�'	sg���z�z�'�'�H�
�8�8����)�
�]�]��"V�
�	�
�I�I�d�O���	�	�*�	�	�s� A;�;Bzprop, expected�year���day�day_of_week�	dayofweek�weekday�day_of_year�	dayofyear�hour�minute�is_leap_year�microsecondrI�month�
nanosecondr��quarter�secondrvrrc��tjtjdddddddd�	�dgttjd
����}t
|j|�}d}t|t�rtj�}n%t|t�rtjd
�}tjttj|dg|����}tj ||�y)
Nr�r<r@r!r7rvrIr�)r�r�r�r�r�r�r�r�rPrUr})rcr�r�rr)r�r�rr�rr�r�time64r rdr�r�)�propr�r�r��exp_types     r-�test_dt_propertiesr�0	s���.
�)�)��L�L���������	
�
�	
�����d�+�,��C� �S�V�V�T�
"�F��H��(�D�!��9�9�;��	�H�d�	#��9�9�T�?���y�y�,�R�X�X�x��6F�X�X�-V�W�X�H����6�8�,r/c
�@�tjtdddd��tdddd��tdddd��dgttjd���	�}|jj}tjgd
�ttj���	�}tj||�|jj}tjgd�ttj���	�}tj||�y)Nr�rEr@r!�r�r�r�r�r<rFrOrUr��FFTN)rcr�rrr)r�r�is_month_startr�r�r��is_month_endrXs   r-�test_dt_is_month_start_endr�a	s���
�)�)��$�b�a�a�8��$�a�Q�Q�7��$�a�R�a�8��		
�����d�+�,��C��V�V�
"�
"�F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,�
�V�V�
 �
 �F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,r/c
�@�tjtdddd��tdddd��tdddd��dgttjd����}|jj}tjgd	�ttj����}tj||�|jj}tjgd
�ttj����}tj||�y)Nr�rErFr!r�r<rOrUr�r�)rcr�rrr)r�r�
is_year_startr�r�r��is_year_endrXs   r-�test_dt_is_year_start_endr�t	s���
�)�)��$�b�b�q�9��$�a�Q�Q�7��$�a�R�a�8��		
�����d�+�,��C��V�V�
!�
!�F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,�
�V�V�
�
�F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,r/c
�@�tjtdddd��tdddd��tdddd��dgttjd���	�}|jj}tjgd
�ttj���	�}tj||�|jj}tjgd�ttj���	�}tj||�y)Nr���r!r�r<rFrOrUr�r�)rcr�rrr)r�r�is_quarter_startr�r�r��is_quarter_endrXs   r-�test_dt_is_quarter_start_endr��	s���
�)�)��$�b�b�q�9��$�a�Q�Q�7��$�a�R�a�8��		
�����d�+�,��C��V�V�
$�
$�F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,�
�V�V�
"�
"�F��y�y�3�:�b�h�h�j�;Q�R�H����6�8�,r/�
days_in_month�daysinmonthc
��tjtdddd��tdddd��tdddd��dgttjd���	�}t
|j|�}tjgd
�ttj���	�}tj||�y)Nr�r!r�r�r7r<r@rOrU)rFr��N)rcr�rrr)r�r�rrr�r�rks    r-�test_dt_days_in_monthr��	s���
�)�)��$�a�R�a�8��$�a�Q�Q�7��$�a�Q�Q�7��		
�����d�+�,��C��S�V�V�V�
$�F��y�y�+�:�b�h�h�j�3I�J�H����6�8�,r/c���tjtddd��tdddd��tdddd	d
d
��dgttjd���
�}|jj�}tjtddd��tddd��tddd��dgttjd���
�}tj||�y)Nr�r!r��r�r�r�r7r<r�r@��;)r�r�r�r�r�r�rOrU)
rcr�rrr)r�rrOr�r�rXs   r-�test_dt_normalizer��	s���
�)�)��$�a�R�0��$�a�Q�Q�7��$�a�Q�R��2�N��		
�����d�+�,��C��V�V�
�
�
�F��y�y��$�a�R�0��$�a�Q�/��$�a�Q�/��		
�����d�+�,��H����6�8�,r/rOrPc
��tjtdddd��dgttj|����}|jj|k(sJ�|jj}tjttjtdd�dgtj|�����}tj||�y)	Nr�r<r@r!r�rUrr})rcr�rrr)r�rrTrr rdr�r�r��rTr�r�r�s    r-�test_dt_time_preserve_unitr��	s���
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C��6�6�;�;�$����
�V�V�[�[�F��y�y��B�H�H�d�1�a�j�$�%7�b�i�i��o�H�N�O��H����6�8�,r/r�)Nr��
US/Pacificc	���tjtdddd��dgttjd|�����}|jj}|tj|�k(sJ�y)	Nr�r<r@r!r�rP�r�rU)
rcr�rrr)r�rr�r�maybe_get_tz)r�r�r�s   r-�
test_dt_tzr��	s`��
�)�)�	�t�1�!�!�	4�d�;�����d�r��2�3��C��V�V�Y�Y�F��Y�+�+�B�/�/�/�/r/c�(�tjtdddd��dgttjd����}|jj�}tjgd�gd	�ggd
�d��}tj||�y)
Nr�r<r@r!r�rPrU)r�r<r<r)r��weekr�r��r)r5)rcr�rrr)r�r�isocalendarr$r�rYrXs   r-�test_dt_isocalendarr��	sv��
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C��V�V�
�
�
!�F��|�|�	�y�!�'���H�
���&�(�+r/�day_name�Sunday�
month_name�Januaryc�d�t|�tjtddd�dgt	t
j
d����}t|j|��}tj|dgt	t
j����}tj||�y)Nr�r<rrU)r.rcr�rrr)r�r�rr�r�r�)rBr�r,r�r�r�s      r-�test_dt_day_month_namer��	s}��
�w�'�
�)�)�X�d�A�q�)�4�0�
�2�<�<�PT�CU�8V�
W�C�
$�W�S�V�V�V�
$�
&�F��y�y�#�t��J�r�y�y�{�,C�D�H����6�8�,r/c�h�t|�tjtdddd��dgt	t
j
d����}|jjd�}tjd	dgt	t
j����}tj||�y)
Nr�r<r@r!r�rPrUz%Y-%m-%dT%H:%M:%Sz2023-01-02T03:00:00.000000000)r.rcr�rrr)r�r�strftimer�r�r�)r,r�r�r�s    r-�test_dt_strftimer��	s����w�'�
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C��V�V�_�_�0�
1�F��y�y�	(�$�/�z�"�)�)�+�7N��H����6�8�,r/)�ceilrr�c��tjtdddd��dgttjd����}t
jtd�	�5t|j|�d
d��ddd�t
jtd
�	�5t|j|�d
d��ddd�y#1swY�LxYw#1swYyxYw)Nr�r<r@r!r�rPrUzambiguous is not supported.r��1hr���	ambiguousznonexistent is not supported.��nonexistent)rcr�rrr)r�r&r$rbr�r�rBr�s  r-�*test_dt_roundlike_tz_options_not_supportedr�
s���
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C�
���*�2O�	P�7����������6�7�
���*�2Q�	R�9���������%�8�9�9�7�7��9�9�s�C� C�C�Cc��tjtdddd��dgttjd����}t
jtd�	�5t|j|�d
�ddd�t
jtd�	�5t|j|�d�ddd�y#1swY�JxYw#1swYyxYw)Nr�r<r@r!r�rPrUzfreq='1B' is not supportedr��1Bz$Must specify a valid frequency: None)rcr�rrr)r�r&r$rUr�rr�s  r-�"test_dt_roundlike_unsupported_freqr�
s���
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C�
���z�)E�	F�&���������%�&�
���z�)O�	P�&���������%�&�&�&�&��&�&�s�C�C�C
�C�freq)�D�hr
r�rrOrPc�j�tjtddd��dg�}ttjd��}t
|j|�d|���j|�}t
|j|�j|�d|���}tj||�y)Nr�r<r�rPrA)rcr�rrr)r�r�rr�r�r�)r�rBr�rer�r�s      r-�test_dt_ceil_year_floorr�
s���
�)�)�	�t�1�!�	,�d�3��C��"�,�,�t�,�-�H�&�w�s�v�v�v�&��4�&�z�2�9�9�(�C�H�
5�W�S�Z�Z��)�,�,�f�
5��$��j�
A�F����6�8�,r/c��tddd�tddd�g}tj|ttjd����}d}t
jt|��5|jj�}ddd�tj|t��}t
j|�td�|D��sJ�d	}t
jt|��5|j!d
�jj�}ddd�t
j||�y#1swY��xYw#1swY�,xYw)NrCr<r�rPrU�CThe behavior of ArrowTemporalProperties.to_pydatetime is deprecatedr�c3�>K�|]}t|�tu���y�wr�)rir��.0�ress  r-�	<genexpr>z(test_dt_to_pydatetime.<locals>.<genexpr>3
s����7��t�C�y�H�$�7���z>The behavior of DatetimeProperties.to_pydatetime is deprecated�datetime64[ns])rrcr�rr)r�r�r^�
FutureWarningrrr�rdr�r�r�r�)rfr�r-r�r�s     r-�test_dt_to_pydatetimer�)
s���T�1�a� �(�4��A�"6�7�D�
�)�)�D�
�2�<�<��+=� >�
?�C�
O�C�	�	#�	#�M��	=�(����%�%�'��(��x�x��F�+�H������1��7��7�7�7�7�
J�C�	�	#�	#�M��	=�C��:�:�.�/�2�2�@�@�B��C������1�(�(��C�C�s�+D9�0*E�9E�E�	date_typer��@c��tjtddd�gtt	t
d|�������}d}t
jt|��5tjtd��5|jj�ddd�ddd�y#1swY�xYw#1swYyxYw)	NrCrErFrrUr�r�z#to_pydatetime cannot be called with)rcr�rrr�r)r�r^r�r&r$rUrr)r�r�r-s   r-� test_dt_to_pydatetime_date_errorr�;
s���
�)�)�	
�d�B��	���8���t�I�;�%7�8�:�;��C�P�C�	�	#�	#�M��	=�#�
�]�]�:�-R�
S�	#��F�F� � �"�	#�#�#�	#�	#��#�#�s$� B4�<B(�B4�(B1	�-B4�4B=c��tjtdddd��dgttjd����}t
jtd�	�5|jjd
d��ddd�t
jtd
�	�5|jjd
d��ddd�y#1swY�KxYw#1swYyxYw)Nr�r<r@r!r�rPrUz ambiguous='NaT' is not supportedr�r�r�r�z"nonexistent='NaT' is not supportedr�)rcr�rrr)r�r&r$rbr�tz_localizer�s r-�*test_dt_tz_localize_unsupported_tz_optionsr�H
s���
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C�
���*�2T�	U�3������5�E��2�3�
���*�2V�	W�5������5�e��4�5�5�3�3��5�5�s�C�C�C�Cc	�r�tjtdddd��dgttjdd����	�}|jjd�}tjtdddd��dgttjd���	�}tj||�y)
Nr�r<r@r!r�rPr�r�rU)
rcr�rrr)r�rr�r�r�rXs   r-�test_dt_tz_localize_nonerT
s���
�)�)�	�t�1�!�!�	4�d�;�����d�|��<�=��C��V�V�
�
��
%�F��y�y�	�t�1�!�!�	4�d�;�����d�+�,��H����6�8�,r/c���t|�tjtdddd��dgt	t
j
|����}|jjd�}t
jtdddd��dgt
j
|���}t
jj|d�}tjt|��}tj||�y)	Nr�r<r@r!r�rUr�r}�r.rcr�rrr)r�rr�rd�compute�assume_timezoner r�r�)rTr,r�r��exp_datar�s      r-�test_dt_tz_localizera
s����w�'�
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C��V�V�
�
��
-�F��x�x�	�t�1�!�!�	4�d�;�"�,�,�t�BT���H��z�z�)�)�(�L�A�H��y�y�,�X�6�7�H����6�8�,r/znonexistent, exp_date�
shift_forwardrEr��shift_backwardz2023-03-12 01:59:59.999999999c	���t|�tjtddddd��dgt	t
j
d����}|jjd	|�
�}t
j|dgt
j
d���}t
jj|d	�}tjt|��}tj||�y)Nr�r!rEr@r�)r�r�r�r�r�rPrUr�r�r}r)r��exp_dater,r�r�rr�s       r-�test_dt_tz_localize_nonexistentrr
s����w�'�
�)�)�	�t�1�"�1�R�	@�$�G�����d�+�,��C��V�V�
�
��+�
�
F�F��x�x��4�(�r�|�|�D�/A�x�B�H��z�z�)�)�(�L�A�H��y�y�,�X�6�7�H����6�8�,r/c��tjtdddd��dgttjd����}t
jtd�	�5|jjd
�ddd�y#1swYyxYw)Nr�r<r@r!r�rPrUz"Cannot convert tz-naive timestampsr�r�)rcr�rrr)r�r&r$rr�
tz_convertr�s r-� test_dt_tz_convert_not_tz_raisesr�
sl��
�)�)�	�t�1�!�!�	4�d�;�����d�+�,��C�
���y�(L�	M�!������%� �!�!�!�s�B�Bc	�p�tjtdddd��dgttjdd����}|jjd�}tjtdddd��dgttjd����}tj||�y)	Nr�r<r@r!r�rPr�rU�
rcr�rrr)r�rr
r�r�rXs   r-�test_dt_tz_convert_noner�
s���
�)�)�	�t�1�!�!�	4�d�;�����d�L�9�:��C��V�V�
�
�t�
$�F��y�y�	�t�1�!�!�	4�d�;�����d�+�,��H����6�8�,r/c	�r�tjtdddd��dgttj|d����}|jjd�}tjtdddd��dgttj|d����}tj||�y)	Nr�r<r@r!r�r�rUz
US/Easternrr�s    r-�test_dt_tz_convertr�
s���
�)�)�	�t�1�!�!�	4�d�;�����d�L�9�:��C��V�V�
�
�|�
,�F��y�y�	�t�1�!�!�	4�d�;�����d�L�9�:��H����6�8�,r/r5ztimestamp[ms][pyarrow]zduration[ms][pyarrow]c���tjddg|��}|jjd�}|j	|jdd��}t
j||�y)Nr�rUrPr)rcr�r�as_unitr�r�r�r�r�s    r-�test_as_unitr�
sS��
�)�)�T�4�L��
.�C�
�V�V�^�^�D�
!�F��z�z�%�-�-��d�3�4�H����6�8�,r/�days�seconds�microseconds�nanosecondsc	��tjtjdddd��dgttjd����}t
|j|�}tjttj|dgtj�����}tj||�y)	Nr<r@r!r7�rrrrrPrUr})
rcr��	Timedeltarr)r�r�rr rdr�r�r�)r�r�r�r�s    r-�test_dt_timedelta_propertiesr�
s���
�)�)��L�L�����	
�
�	
�����T�*�+��C��S�V�V�T�
"�F��y�y��B�H�H�h��%5�B�H�H�J�H�G�H��H����6�8�,r/c	��tjtjdddd��dgttjd����}|jj�}tjttjddgtj��	���}tj||�y)
Nr<r@r!r7rrPrUgN% �@r})
rcr�rrr)r�r�
total_secondsr rdr�r�r�rXs   r-�test_dt_timedelta_total_secondsr!�
s���
�)�)��L�L�����	
�
�	
�����T�*�+��C��V�V�
!�
!�
#�F��y�y��B�H�H�l�D�%9��
�
��H�M�N��H����6�8�,r/c���tddd�tddd�g}tj|ttjd����}|jj�}tj|t��}tj||�td�|D��sJ�|jd�jj�}tj||�y)	Nr<r@r!r7rPrUc3�>K�|]}t|�tu���y�wr�)rirr�s  r-r�z)test_dt_to_pytimedelta.<locals>.<genexpr>�
s����8�#�t�C�y�I�%�8�r��timedelta64[ns])rrcr�rr)r�r�to_pytimedeltar�rdr�r�r�r�r��rfr�r�r�s    r-�test_dt_to_pytimedeltar'�
s����a��A��	�!�Q�� 2�3�D�
�)�)�D�
�2�;�;�t�+<� =�
>�C�
�V�V�
"�
"�
$�F��x�x��F�+�H������1��8��8�8�8�8��z�z�+�,�/�/�>�>�@�H������1r/c�4�tjtjdddd��dgttjd����}|jj}tjgd�gd	�ggd
�d��}tj||�y)
Nr<r@r!r7rrPrU)r<rrr@rr!r7)NNNNNNN)r�hours�minutesr�millisecondsrrr�r�)rcr�rrr)r�r�
componentsr$r�rYrXs   r-�test_dt_componentsr-�
s���
�)�)��L�L�����	
�
�	
�����T�*�+��C��V�V�
�
�F��|�|�	� J�K�
���H����&�(�+r/r�c��tjdgd��}t||�|��}|r|dk(}ntj}||usJ�y)NrrUr�r�)rcr�r�r�)r
r�r�r�r�s     r-�#test_boolean_reduce_series_all_nullr/sO��
�)�)�T�F�"4�
5�C�
1�W�S�0�
1��
@�F�
�)�U�2���5�5���X���r/c��gd�}gd�}dg}||z|z}dgt|�zdgt|�zzdgt|�zz}tj|tj	���}tj|d��}tj||�ddg}tjtjd	�
�5tj|tj	���ddd�y#1swYyxYw)N)�true�TRUE�TruerArV)�false�FALSE�False�0rBTFrUr{r3rxzFailed to parser�)r�r r�r)r�rcrdr�r�r&r$r*)�true_strings�
false_strings�nullsr��boolsr�r�s       r-�%test_from_sequence_of_strings_booleanr< s���7�L�;�M�
�F�E��]�*�U�2�G�	
���\�"�"�e�W�s�=�/A�%A�A�T�F�S�QV�Z�DW�W�
�!�
:�
:�7�"�(�(�*�
U�F��x�x��%7�8�H��#�#�F�H�5��u�o�G�	���r���.?�	@�Q��5�5�g�R�X�X�Z�P�Q�Q�Q�s�*C5�5C>c��tjg|��}|j�}tj|t	j
gtj��g�}tj||�yr�)	rcr�rr�concatr�rdr�r�r�)r5r�r�r�s    r-�%test_concat_empty_arrow_backed_seriesr?2sR��
�)�)�B�e�
$�C��x�x�z�H�
�Y�Y��B�H�H�R�r�x�x�8�9�:�
;�F����6�8�,r/r�r�c���tjdj��}tj||��}tjt|�|��}t
j||�y)Nzthe quick brown foxrU)r)rdrgrcr�r r�r�)r5rr�r�s    r-�test_series_from_string_arrayrA:sP��
�(�(�(�.�.�0�
1�C�
�)�)�C�u�
%�C��y�y�,�S�1��?�H����3��)r/c���eZdZ�fd�Z�xZS)�OldArrowExtensionArrayc�L��t�|��}|jd�|d<|S)Nr��_data)r��__getstate__�pop)r��stater�s  �r-rFz#OldArrowExtensionArray.__getstate__Ds'�����$�&�����;�/��g���r/)r�r�r�rFr�r�s@r-rCrCCs
����r/rCc�&�tjdg�}t|�}tjtj
|��}t
j||�|jtj|�k(sJ�t|d�rJ�y)Nr<rE)r)rdrCrIrKrJr�r�r��
chunked_array�hasattr)rfr�r�s   r-�#test_pickle_old_arrowextensionarrayrLJst��
�8�8�Q�C�=�D�%�d�+�H�
�\�\�&�,�,�x�0�
1�F��#�#�F�H�5����r�/�/��5�5�5�5��v�w�'�'�'�'r/c�6�d}ttjtj|ftj
��g��}|j
�}d|tj|ftj
��<|j|jk(sJ�y)Nih6rUF)	r r)rJr��onesr�rr�zerosr�)�Nrr�s   r-�/test_setitem_boolean_replace_with_mask_segfaultrQSsn���A�
�b�.�.������B�H�H�0M�/N�O�
P�C��x�x�z�H�*/�C����!��R�X�X�&�'��=�=�H�.�.�.�.�.r/zdata, arrow_dtyperOrPc���t|�}tjtj|�|��}tj||��}t	j
||�yr�)rrcrdr�r�r�)rfr2r5r�r�s     r-�-test_conversion_large_dtypes_from_numpy_arrayrS\sF��
�{�#�E�
�X�X�b�h�h�t�n�E�
2�F��x�x��E�*�H��#�#�F�H�5r/c�:�tjdddgittj	����}tjdddgid��}tj
||gd��}tjdgd�id��}t
j||�y)	NrJrUrr<r�T)�ignore_index)NNrr<)rcr$rr)�nullr>r�rY)r,�df2r�r�s    r-�test_concat_null_arrayrXjsz��	���s�T�4�L�)��B�G�G�I�1F�	G�B�
�,�,��a��V�}�,<�
=�C�
�Y�Y��C�y�t�
4�F��|�|�S�"4�5�=M�N�H����&�(�+r/c��tjgd�t|���}|j�}tjgd�ttj��gd���}t
j||�y)N�r<r@r!rU)r!r@r<r<rg@r�r!�r�r�r�r
�25%�50%�75%r�r5rR)rcr�r�describer)r�r�r��r�rfr�r�s    r-�test_describe_numeric_datarbssX���9�9�Y�j��&9�:�D�
�]�]�_�F��y�y�&������&�I��H�
���6�8�,r/c�F�tjtdd�t|���}|j	�}tjdgtj
gd�|j��j�ztgd���}tj||�y)	Nr<rHrU�	)rIr@r<r!rIrvrd�rTr[r_)rcr�rrr`�to_timedeltarTrsr�r�r�ras    r-�test_describe_timedelta_datarg�ss���9�9�U�1�b�\��G�)<�=�D�
�]�]�_�F��y�y�	
��b�o�o�3�'�,�,�G�N�N�P�P��I��H�
���6�8�,r/c�b�tjtdd�t|���}|j	�}tjdgdD�cgc].}tj
||j|j����0c}ztgd���}tj||�ycc}w)	Nr<rHrUrd)rIr<r!rIrvrd)r�rT)r�r�r
r\r]r^rr_)rcr�rrr`r�r�rTr�r�r�)r�rfr��vr�s     r-�test_describe_datetime_datarj�s����9�9�U�1�b�\��G�)<�=�D�
�]�]�_�F��y�y�	
��(�
��
�L�L��w�z�z����=�
�	
�
�B��H����6�8�,��
s�3B,
c��gd�}tj|t|���}|jd�}|d}||k(sJ�y)NrZrUg�������?r)rcr�rr)r�rfr�r�r�s     r-�test_quantile_temporalrl�sC��
�D�
�)�)�D�
�7� 3�
4�C�
�\�\�#�
�F��1�v�H��X���r/c���tjtjd�gtj	���}tj|t|j���}t|�dk(sJ�y)Nz
2020-01-01r}rUz+0    2020-01-01
dtype: date32[day][pyarrow])
r)rdr�
fromisoformatr�rcr�rri�repr)�arrow_dtr�s  r-�test_date32_reprrq�sT���x�x��+�+�L�9�:�����x�M�H�
�)�)�H�J�x�}�}�$=�
>�C���9�F�F�F�Fr/c���tjddg�}tjddg�}tj|t	t
j
d����}tj|t	t
jd����}||z}tjddgt	t
j
d����}tj||�y)Nr<rPrUr@)
rc�to_datetimerfr�rr)r�r�r�r�)�data_ts�data_td�ser_ts�ser_tdr�r�s      r-�2test_duration_overflow_from_ndarray_containing_natrx�s����n�n�a��Y�'�G��o�o�q�$�i�(�G�
�Y�Y�w�j����d�1C�&D�
E�F�
�Y�Y�w�j����T�1B�&C�
D�F�
�f�_�F��y�y�!�T��*�R�\�\�$�5G�*H�I�H����6�8�,r/c��tj|�}|dk7sJ�|jr5|dvr1tjjd��}|j
|�|tjt|�d��k(sJ�y)Nz
unknown-array)�floating�
datetime64�timedelta64zfin infer_dtype pd.NA is not ignored in these cases even with skipna=True in the list(data) check belowr�Tr�)r�infer_dtyperar&r'r(r+r`)rfr,r�r's    r-�test_infer_dtype_pyarrow_dtyper~�sy��

�/�/�$�
�C��/�!�!�!��{�{�s�G�G��{�{� � �B�!�
��	���D�!��#�/�/�$�t�*�T�:�:�:�:r/c��d}|j}tjj|�r(t	j
||��j
|�g}n2t	j|||j��j
|�g}tj||��}ttj|g|���}tj||�y)Nr!re�rTr�rUr})rTr)rVr^rcrrr�r�r rjrdr�r�)r�r.rT�seqr�r�s      r-�test_from_sequence_temporalr��s���
�C��<�<�D�	�x�x���G�$��|�|�C�d�+�3�3�D�9�:���|�|�C�d�w�z�z�:�B�B�4�H�I��
 �
/�
/��7�
C�F�"�2�8�8�S�E��8�#@�A�H��#�#�F�H�5r/c���|j}tjj|�r't	j
d|��j
|�}n1t	jd||j��j
|�}ttjgd�|���}|j�}||ddttjgd�|���}tj||�y)Nr<rer�rZr})r<r<r<)rTr)rVr^rcrrr�r�r rdrrr�r��r�rTr.rr�r�s      r-�test_setitem_temporalr��s���
�<�<�D�	�x�x���G�$��l�l�1�4�(�0�0��6���l�l�1�4�G�J�J�7�?�?��E��
�b�h�h�y�w�h�?�
@�C�
�X�X�Z�F��F�1�I�"�2�8�8�I�G�8�#D�E�H��#�#�F�H�5r/c�"�ttjgd�|���}|j}|t	j
d|��j
|�z
}ttjgd�|���}tj||�y)NrZr}r<re)rr<r@)	r r)rdrTrcrrr�r�)r�r,rrTr�r�s      r-�test_arithmetic_temporalr��sk��
�b�h�h�y�w�h�?�
@�C��<�<�D�
�2�<�<���-�5�5�d�;�
;�F�"�2�8�8�I�G�8�#D�E�H��#�#�F�H�5r/c���|j}tjj|�r't	j
d|��j
|�}n1t	jd||j��j
|�}ttjgd�|���}||kD}ttjgd�tj����}tj||�y)Nr<rer�rZr})FTT)rTr)rVr^rcrrr�r�r rdr�r�r�r�s      r-�test_comparison_temporalr��s���
�<�<�D�	�x�x���G�$��l�l�1�4�(�0�0��6���l�l�1�4�G�J�J�7�?�?��E��
�b�h�h�y�w�h�?�
@�C�
�3�Y�F�"�2�8�8�,?�b�h�h�j�8�#Q�R�H��#�#�F�H�5r/c�B�ttjgd�|���}|d}tjj	|�rVtjd|j��j|j�}t|t
j�scJ�tjd|j|j��j|j�}t|t
j�sJ�|j|jk(sJ�||k(sJ�y)NrZr}r<r@rer�)r r)rdrVr^rcrrTrr�r�r��r�rr�r�s    r-�test_getitem_temporalr�s���
�b�h�h�y�w�h�?�
@�C�
��V�F�	�x�x���G�$��<�<�����5�=�=�g�l�l�K���&�"�,�,�/�/�/��<�<��������D�L�L��L�L�
���&�"�,�,�/�/�/��;�;�(�-�-�'�'�'��X���r/c��ttjddg|���}t|�}tjj|�rit
jd|j��j|j�tjg}t|dtj�svJ�t
jd|j|j��j|j�tjg}t|dtj�sJ�|dj|djk(sJ�||k(sJ�y)Nr<r}rerr�)r r)rdr`rVr^rcrrTrr�r�r�r�r�s    r-�test_iter_temporalr�s��
�b�h�h��4�y�w�h�?�
@�C�
�#�Y�F�	�x�x���G�$��L�L�����.�6�6�w�|�|�D��E�E�
���&��)�R�\�\�2�2�2�
�L�L�����'�*�*�=�E�E�g�l�l�S��E�E�
���&��)�R�\�\�2�2�2��!�9�>�>�X�a�[�-�-�-�-�-��X���r/c���tj|ddgd���}|jd��j�}tjddgdd	d
g��}t	j
||�y)Nr!)rJrJrKrr)�levelr@r<r�rJrKr_)rcr�r(�sizer�r�r&s    r-�'test_groupby_series_size_returns_pa_intr�6s\��
�)�)�D��!�H�O�
4�C�
�[�[�q�[�
!�
&�
&�
(�F��y�y�!�Q��'7��S�z�J�H����6�8�,r/c��ttjddg|���}|j|��}tjj|�r;t
jd|j��j|j�}nEt
jd|j|j��j|j�}|tk(s+tjj|�rq|j�e|tk(rtj}ntj}t!j||gt��}|dj|jk(s}J�|j#�j%d|j�}|j�}t!j||g�}t!j&|d�d|jk(sJ�t)j*||�y)Nr<r}rUrer�r�nat)r r)rdr�rVr^rcrrTrr�r�r�r]r�r�r��to_pandas_dtyperi�
datetime_datar�r�)r�r5rr�rr�r�s       r-�test_to_numpy_temporalr�>sh���b�h�h��4�y�w�h�?�
@�C�
�\�\��\�
&�F�	�x�x���G�$����Q�W�\�\�2�:�:�7�<�<�H�����Q�W�\�\�g�j�j�A�I�I�'�,�,�W�����2�8�8�0�0��9�g�j�j�>T��F�?����B����B��8�8�U�B�K�v�6���a�y�~�~����+�+�+�
�
$�
$�
&�
+�
+�E�7�<�<�
@����� ���8�8�U�B�K�(������q�	�*�1�-����=�=�=������1r/c��tjddg||d��}|jd�j�}tjddggtjdgd��ddgd��}tj||�y)	Nr<r"rqr�rrrsr�)rRr)r5)rcr$r(r�r%r�rY)rkr,r�r�s    r-�%test_groupby_count_return_arrow_dtyper�[st��	���Q��F��L�I�	J�B�
�Z�Z��_�
"�
"�
$�F��|�|�
�Q����h�h��s��%��c�
��	�H����&�(�+r/c	���tjddgddggttj	tj�d�����}|jj}|tk(sJ�y)Nr<r@r!r7)�	list_sizerU)	rcr�rr)rErr5rir`)r�r�s  r-�test_fixed_size_listr�gsU��
�)�)�
�Q��!�Q���
�2�8�8�B�H�H�J�!�8�+L� M��C��Y�Y�^�^�F��T�>��>r/c	��tjtjdd��dgtt	d����}t|�}d}||k(sJ�y)N�2012r!)rar[r�r�z#     col
0  15340
1  15341
2  15342)rcr$�period_rangerr!ro)r,r�r�s   r-�'test_arrowextensiondtype_dataframe_reprr�psP��	���
�����*������-�.�
�B�
�"�X�F�8�H��X���r/c��tjddgd��}|jdd��}tjddgd��}tj||�y)Nr@r�rUr!)ry�)rcr��powr�r�)�kr�r�s   r-�test_pow_missing_operandr�~sN��
�	�	�1�d�)�#3�4�A�
�U�U�4�A�U�
&�F��y�y�!�T��*:�;�H����6�8�,r/c�N�tjddgt|���}tjtjddgd|j
�d����}|j
|�}tjddgt|���}tj||�y)Nr@rUr<r!zm8[r�)	rcr�rr�rdrTrDr�r�)r��ser1�ser2r�r�s     r-�test_duration_fillna_numpyr��s~���9�9�d�A�Y�j��&9�:�D�
�9�9�R�X�X�q�!�f�c�'�,�,��q�,A�B�C�D�
�[�[��
�F��y�y�!�Q��z�'�':�;�H����6�8�,r/c��tjdgd��}tjdgd��}tjtj
jd��5||kddd�y#1swYyxYw)NlrrUr�z
Integer valuer�)rcr�r&r$r)rr*r�s  r-�+test_comparison_not_propagating_arrow_errorr��s\��
�	�	�7�)�#4�5�A�
�	�	�4�&� 0�1�A�	���r�v�v�*�*�/�	B��	�A�����s� A/�/A8c��tjtjdg�j�tjdg�j�g�}t	j
t
|��}|j�\}}tjddgtj��}t	jt
|j���}tj||�tj||�y)NrJrKrr<rU)r)rJrd�dictionary_encodercr�r �	factorizer��intpr%r�r�r�r*)r�r��res_indices�res_uniques�exp_indicies�exp_uniquess      r-�!test_factorize_chunked_dictionaryr��s������	���3�%��	*�	*�	,�b�h�h��u�o�.O�.O�.Q�R��H�
�)�)�'��1�
2�C�"�}�}���K���8�8�Q��F�"�'�'�2�L��(�(�.�x�/F�/F�/H�I�J�K�����\�:����+�{�3r/c�V�tjtjgd���j�tjtjgd���j�g}t	j
t
tj|���}|jd�}t	jgd�ttj����}t	j
gd�t	j|����}tj||�y)N)rJr�rorJ)rJ�dro�category)rJr�ror�rU)rJr�rorJrJr�ro)�
categories)r)rdr�r�rcr�r rJr�r%rr��CategoricalDtyper�r�)�arrsr�r�r�r�s     r-�"test_dictionary_astype_categoricalr��s���	������.�/�0�B�B�D�
������/�*�+�=�=�?��D�
�)�)�'��(8�(8��(>�?�
@�C�
�Z�Z�
�
#�F����.�j�����6M�N�J��y�y�+��!�!�Z�8��H����6�8�,r/c���tjdgd��}tjdgd��}tjdgd��}||z}tj||�y)Ni����r�rUr7r=r�)rJrKr�r�s    r-�test_arrow_floordivr��sT��
�	�	�2�$�.�/�A�
�	�	�1�#�-�.�A��y�y�"��%5�6�H�
�!�V�F����6�8�,r/c��tjdgd��}tjdgd��}|dz}tj||�y)Nl^\Kr�rUl\�p/i@Br�)rJr�r�s   r-� test_arrow_floordiv_large_valuesr��sC��
�	�	�&�'�/?�@�A��y�y�-��0@�A�H�
�)�^�F����6�8�,r/r�rc�j�tjdg|��}|dz}tj||�y)N�����rUr<r�)r5rJr�s   r-�)test_arrow_floordiv_large_integral_resultr��s1��	�	�	�$�%�U�3�A�
�!�V�F����6�1�%r/c��t|�}tjdg|��}|dz}tjdg|��}tj||�y)Ni��rU�r>)rrcr�r�r�)r�r5rJr�r�s     r-�"test_arrow_floordiv_larger_divisorr��sK��
�w��E�
�	�	�3�%�u�%�A�
�"�W�F��y�y�"��U�+�H����6�8�,r/c���tj|j��j}t	j
|gt
|���}tjtjjd��5|dzddd�tjtjjd��5|dzddd�y#1swY�GxYw#1swYyxYw)NrUzoverflow|not in ranger�r>zdivide by zeror)r��iinfor�r
rcr�rr&r$r)rr*)r��	min_valuerJs   r-�$test_arrow_floordiv_integral_invalidr��s�������0�0�2�3�7�7�I�
�	�	�9�+�Z��%8�9�A�	���r�v�v�*�*�2I�	J��	�R���	���r�v�v�*�*�2B�	C��	�Q���������s�>C
�;C�
C�Cc��tjdg|��}|dz}tjtd�g|��}tj||�y)Nr@rUr�inf)rcr�rdr�r�)r5rJr�r�s    r-�&test_arrow_floordiv_floating_0_divisorr��sE��	�	�	�1�#�U�#�A�
�!�V�F��y�y�%��,��u�5�H����6�8�,r/)r�r�r$c��tjddgd��}|j|�}tjddg|��}tj||�y)Nr<r�rUrWr�s    r-�(test_astype_int_with_null_to_numpy_dtyper��sK��
�)�)�Q��I�%5�
6�C�
�Z�Z��
�F��y�y�!�T��%�0�H����6�8�,r/c�
�tj|j��j}t	|�}tj|g|��}tjdg|��}||z}tj||�y)NrUr<)	r�r�r�rrrcr�r�r�)r��	max_valuer5rJrKr�s      r-�)test_arrow_integral_floordiv_large_valuesr��sh������0�0�2�3�7�7�I��w��E�
�	�	�9�+�U�+�A�
�	�	�1�#�U�#�A�
�!�V�F����6�1�%r/c���tjdg|��}tjdg|��}tjdgd��}||z}tj||�y)NrrUr�rr��r5rJrKr�r�s     r-�&test_arrow_true_division_large_divisorr�
sV��	�	�	�1�#�U�#�A�
�	�	�$�%�U�3�A��y�y�!��$6�7�H�
��U�F����6�8�,r/c���tjdg|��}tjdg|��}tjdg|��}||z}tj||�y)NrrUr�r�r�s     r-�'test_arrow_floor_division_large_divisorr�

sU��	�	�	�1�#�U�#�A�
�	�	�$�%�U�3�A��y�y�!��E�*�H�
�!�V�F����6�8�,r/c	���gd�}tj|d��}tjttj	tj
|�d����}t
j||�y)N)�2020-01-01 04:30:00z2020-01-02 00:00:00z2020-01-03 00:00:00�timestamp[ns][pyarrow]rUT��from_pandas)rcr�r r)rdrsr�r�)�string_datesr�r�s   r-�$test_string_to_datetime_parsing_castr�
sV��X�L�
�Y�Y�|�+C�
D�F��y�y��B�H�H�R�^�^�L�%A�t�H�T�U��H����6�8�,r/c���dg}tj|d��}tjttj	tdddd�gd�	���}t
j||�y)
Nz11:41:43.076160ztime64[us][pyarrow]rUr��)�+i�)Tr�)rcr�r r)rdrr�r�)�string_timesr�r�s   r-� test_string_to_time_parsing_castr�
s^��%�&�L�
�Y�Y�|�+@�
A�F��y�y��B�H�H�d�2�r�2�u�&=�%>�D�H�Q�R��H����6�8�,r/c���tjgd�d��}|jd�}tjddtjgd��}tj||�y)N�r��(Nr\rUr�r�r�)rcr�r�r�r�r�r�rXs   r-�test_to_numpy_floatr�(
sL��
�)�)�N�*:�
;�C�
�Z�Z�	�
"�F��y�y�"�b�"�&�&�)��;�H����6�8�,r/c���tjdgd��}|jtj��}tj
dg�}t
j||�y)Nr�r�rUlP�)�#-/)rcr�r�r�rrdr�r�rXs   r-�test_to_numpy_timestamp_to_intr�0
sM��
�)�)�*�+�3K�
L�C�
�\�\����\�
)�F��x�x�,�-�.�H������1r/c���tjgd�d��}|jd�d��}tjddtjgd��}tj||�y)	Nr�r�rUc��y)N�*r�r�s r-r�z,test_map_numeric_na_action.<locals>.<lambda>:
s�r/r�r�gE@r�)rcr�r�r�r�r�r�rXs   r-�test_map_numeric_na_actionr�8
sP��
�)�)�N�*:�
;�C�
�W�W�\�X�W�
6�F��y�y�$��b�f�f�-�Y�?�H����6�8�,r/(r��
__future__rrrrr�decimalr�ior	r
r�rIr&�numpyr�r&�pandas._libsr�pandas._libs.tslibsr�
pandas.compatr
rrrrrr�pandas.util._test_decorators�util�_test_decoratorsr��pandas.core.dtypes.dtypesrr�pandasrc�pandas._testing�_testingr��pandas.api.extensionsr�pandas.api.typesrrrrrrr�pandas.tests.extensionr�importorskipr)�pandas.core.arrays.arrow.arrayr �(pandas.core.arrays.arrow.extension_typesr!r.�fixture�ALL_PYARROW_DTYPESrVr5rfrkrmrtrxr{r��ExtensionTestsr�r�r'r��ALL_INT_PYARROW_DTYPESr�r�r�rrrr!r*r-r	�bytes�large_binary�large_stringrErr`�
large_list�map_r��structr��dictr�r4r;r>r@rBrDrFrPrTrYr^rbrer�rjrmrprur{r�r�r�r�r�r�r�r�r�r�r�r�r��compiler�r�r�r�r�r�r�r�r�r�r�r�r(r�r�r�rrrr$r&r/r5r:rBrFrJrPrSrXr[r^rerlrzr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�rrrrrrr!r'r-r/r<r?rArCrLrQrSrX�FLOAT_PYARROW_DTYPESrb�TIMEDELTA_PYARROW_DTYPESrg�DATETIME_PYARROW_DTYPESrjrlrqrxr~r�r�r�r�r�r�r�ror�r�r�r�r�r�r�r�r�r�r�r�r��SIGNED_INT_PYARROW_DTYPESr�r��FLOAT_PYARROW_DTYPES_STR_REPRr�r�r�r�r�r�r�r�r�r�r�r/r-�<module>rsT���#������
�	��
��)����*�)��
��,����(��V����#��>�D�	"�����r�,�,�#�6�3�7�3����8'��8'�v���H��H�
������/�0��1�����7A��7A�t���
��
����
��
�������[
1�T�(�(�[
1�|^1�^1�B������B�$=�$=�>�-�?�-�0C��+�5�7�������I��������c�C��:�%6�7�F1�8��F1�R�������1�a�&�!�$6���#<�=�	�}�%���
-��
-�	-������ �	����e��	���2����	���	�E�"�	���	�C� �	���"�(�(�*�	�t�$�	���r�x�x�z�	"�D�)�	�������b�h�h�j�	)�4�0�	���T�2�7�7�9�%��b�i�i�k�':�;�	<�d�C�	���r�x�x�z�2�8�8�:�	.�0D�E�
�
�9�
�9�-�
*�*�1�3�(�
;� 2�-�,�2�&2�������#�.�.�"�&�&�)A�6�(J�K�2�L�2�2�
2�6�.�.-�Q�-��",��������� 4�5�-�6�-�&���������(�7�G�*<�v�x�>P�Q��-��-�#�������	
�u�d�E�D�$�<�0�	
�t�T�5�5�$�-�0�	
�u�d�E�D�$�<�0�	�e�T�4�$���6�	�d�D�$���
�6��	�-�	�-�'�������	�t�T�#6�7�	�s�E�#8�9�	�S�$� 4�5�	�T�4�!4�5�	���.@�A�	�_�d�,>�?�	�r�4�!5�6�	�R��3�4�	��-��-�������!;�<�-�=�-��������Z�R�Z�Z��_����}�v�u�o���|�L��"�	�"�������	�c�2�u�v�t�n�-�	�c�1�e�f�d�^�,�	�#�r�4�&�$��0���-��-�-��-�������	
�u�d�T�4�L�)�	
�t�T�E�4�=�)�	
�t�T�E�4�=�)�	
�u�d�T�4�L�)�	�e�T�D�$�<�0�	�d�D�5�$�-�0�
�
�-�
�-�������	��t�6�7�	��d�7�8�	
�t�T�6�7�	
�u�d�5�6�	�e�T�#<�=�	�d�D�"=�>�	���8�9�	�5�$� :�;�	��t�8�9�	�4��:�;��� -�!� -������#�
�A�t�a��Y����
�+�d�A�q�1�d�)�R�X�X�Z�-P�Q��-�	�-�-�$�������	
���	�
��	
���	�
��	
����	�-�	�-������J����-�	�-�-�������	
�q�$��t��%�	
�q�!�d�D�\�"�	
�A�q�4��,����-��-�������	
�A�s�V�T�N�#�	
�q�#��t�}�%�	
�q�$��t��%���-��-������� �!� �!�!�"��� �!�"�#���%�&� �!�%��.-�/�.-�������	�y�!�	�)��	�Y��	�)��	�)��	�Y��
�
�-�
�-�-������� �� �� ��
�
�-�
�-��������5� 1�2�-�3�-��������5� 1�2�-�3�-�������H�h�#7�8�������	���	�L�M���-��9�-�������1�a�&�)�-�*�-�������G�X�#6�7�������	
�D�	�	
�A����4��8�4�������%���1�-�2�-�������	
�D�	�	
�A����-��-�-�-�,�-�.������H�g�#6�7�-�8�-�%,�P,�D%�������D�%�=�1�	,�2�	,�-�������!8�9�6�:�6��������	���	��
�	���	�a��	�A��	���	�a��	���	�1�
�	���	���	�!��	�q��	�A��	�1�
�	��d�A�q�!�"�	��a��A�q�!�"�#��,-�-�,-�6-�&-�&-�&������O�]�#C�D�-�E�-�-�.������$���.�-�/�-�������:�;�0�<�0�,�������Z��*�\�9�,E�F��-��-�-�������#=�>�	9�?�	9�������#=�>�	&�?�	&�������!I�J�������#=�>�-�?�K�-�2�$������r�2�h�/�	#�0�	#�	5�
-�������$���.�
-�/�
-� ������	�(��A�2�A�F�G�	�<�2�<�<�(G�H�I���-��-�!�
-�������$���.�
-�/�
-�������#;�=T�"U�V�-�W�-�������	���	�A��	���	���	��-��-�*-�*2�,�>������D�%�=�1��2��Q�$-�������8�->�"?�@�*�A�*��0��(�/�������
���r���(�)�

�s��R�_�_�&�'���6��6�,�������B�$=�$=��@W�@W�$W�X�	-�Y�	-�������B�$?�$?�@�	-�A�	-�������B�$>�$>�?�
-�@�
-� �����
�r�)�)�B�,G�,G�G�����G�-�;������
�r�)�)�B�,G�,G�G��6��6������
�r�)�)�B�,G�,G�G��
6��
6� �����
�r�)�)�B�,G�,G�G��6��6������
�r�)�)�B�,G�,G�G��6��6������
�r�)�)�B�,G�,G�G��
��
� �����
�r�)�)�B�,G�,G�G�����(-������
�r�)�)�B�,G�,G�G�T���������4��.�1�2�2��2�2	,���-�������B�$?�$?�@�-�A�-��
4�
-� -�-�������#3�5F�"G�H�&�I�&�������B�$@�$@�A�-�B�-�������B�$@�$@�A��B��������"�"B�"B�C�-�D�-�������"R�S�-�T�-�������B�$=�$=�>�&�?�&�������#3�5F�"G�H�-�I�-�������#3�5F�"G�H�-�I�-�-�-�-�2�-r/

Youez - 2016 - github.com/yon3zu
LinuXploit