
    bMh'D                         d dl m Z mZ d dlZd dlZd dlmZ d dlmZm	Z	m
Z
mZ d dlmZ d
dZ G d d          Z G d d	          ZdS )    )copydeepcopyN)	is_scalar)	DataFrameIndexSeries
date_rangec                    t          |t                    rt          |g| j        z            }|t	          |          r\|dk    r*d}t
          j        }|                    | j        d           nt          j	        ||          }|
                    |           nt          j        |          }|                                }||j        d         z  }||j        d         z  dk    rt          d          t          j        ||                              |          }n2t
          j                            d                              |          } | |fd|i|S )z
    construct an object for the given shape
    if value is specified use that if its a scalar
    if value is an array, repeat it as needed
    Nemptydtyper   z!invalid value passed in construct   r   )
isinstanceinttuple	_AXIS_LENr   npfloat64pop_info_axis_namer   fillprodravelshape	Exceptionrepeatreshaperandomdefault_rngstandard_normal)boxr   valuer   kwargsarrfshape	new_shapes           a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pandas/tests/generic/test_generic.py	constructr(      sJ    % /ug-..U 	;
 

3.5555huE222WU^^F++--C1-I	!$)) CDDD)C++33E::CCi##A&&66u==3s**%*6***    c                      e Zd Zej                            dej        d  ed          D              e	d  ed          D                       g          d             Z
d Zd Zd Zd	 Zd
 Zd Zd Zej                            dg d          d             Zd Zd Zej                            deed d g          ej                            dg d          d                         Zd ZdS )TestGenericfuncc                 8    i | ]}||                                 S  lower.0xs     r'   
<dictcomp>zTestGeneric.<dictcomp><   s"    000aQ		000r)   ABCDc                 8    i | ]}||                                 S r.   r/   r1   s     r'   r4   zTestGeneric.<dictcomp>=   s"    777QAqwwyy777r)   c                    t          d          }|j        D ]j}||i}t          |dfi |} |j        di ||i}|                                }t          ||t          d                     t          j        ||           kd S )Nr5      abcdr.   )list_AXIS_ORDERSr(   renamer   setattrtmassert_equal)	selfframe_or_seriesr,   idxaxisr#   objresultexpecteds	            r'   test_renamezTestGeneric.test_rename8   s     6ll#0 	. 	.DC[FOQ99&99C  SZ//4,//FxxzzHHdDLL111OFH----	. 	.r)   c                 H   dfdt          j                  D             }t          fi |}|                                }t	          j        ||           |                                }t          fddi|}t          |t                    r|j	        d d         |_	        t	          j        |
                    d          |           t          j        g d          }t          fd|i|}|                                }t	          j        ||           d S )	Nr8   c                 p    i | ]2}                     |          t          t                              3S r.   )_get_axis_namer:   range)r2   irA   ns     r'   r4   z5TestGeneric.test_get_numeric_data.<locals>.<dictcomp>P   sE     
 
 
 **1--tE!HH~~
 
 
r)   r"   r   r   T)drop)TTFT)rK   r   r(   _get_numeric_datar>   r?   _get_bool_datar   r   columnsreset_indexr   array)r@   rA   r#   orE   rF   r$   rM   s    `     @r'   test_get_numeric_dataz!TestGeneric.test_get_numeric_dataN   sP   
 
 
 
 
?455
 
 
 oq33F33$$&&
""" !!##_aIIwI&IIa## 	- y!}H
***55x@@@ h00011oq>>>v>>$$&&
"""""r)   c                    t          |d          }d|j         d}t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dd          }t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dt          j                  }t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |dk               d d d            n# 1 swxY w Y   t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |d          }t          j        t          |          5  t          |           d d d            n# 1 swxY w Y   t          |dd          }t          |dd          }t          j        t          |          5  |r	 d d d            n# 1 swxY w Y   t          j        t          |          5  |o| d d d            n# 1 swxY w Y   t          j        t          |          5  |p| d d d            n# 1 swxY w Y   t          j        t          |          5  |  d d d            d S # 1 swxY w Y   d S )	Nr8   r   zThe truth value of a z is ambiguousmatchr      )r   r"   )r(   __name__pytestraises
ValueErrorboolr   nan)r@   rA   rD   msgobj1obj2s         r'   test_nonzerozTestGeneric.test_nonzeroi   s    q111Mo&>MMM]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q:::]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q???]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	NNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 q111]:S111 	 	III	 	 	 	 	 	 	 	 	 	 	 	 	 	 	
 ;;;;;;]:S111 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ]:S111 	 	MT	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	LD	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:S111 	 	HH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAA>BB"%B"C  C$'C$D88D<?D<E>>FF$G  GGH""H&)H&I((I,/I,J**J.1J.!K==LLMMM=NNN4OO	O	+O<<P P c                     fd}dj          d}t          j        t          |          5   |g d           d d d            n# 1 swxY w Y    |d            |d            |d           d S )	Nc                 *    t          dd|           S )N   rZ   )r   r"   r   )r(   )r   rA   s    r'   fz;TestGeneric.test_frame_or_series_compound_dtypes.<locals>.f   s    _AQeLLLLr)   z+compound dtypes are not implemented in the z constructorrX   ))Azdatetime64[h])Bstr)Cint32int64r   zM8[ns])r[   r\   r]   NotImplementedError)r@   rA   rh   ra   s    `  r'   $test_frame_or_series_compound_dtypesz0TestGeneric.test_frame_or_series_compound_dtypes   s   	M 	M 	M 	M 	M=%.= = = 	
 ].c::: 	F 	FADDDEEE	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	
'


	)	(s   AAAc                 p   t          |d          }d|_        t          |d          }d|_        dD ]0} t          ||          d          }t          j        ||           1dD ]0} t          ||          |          }t          j        ||           1dD ]`} t          ||          |          }t          j        ||           t          j        |||z             t          j        |||z             a|                    |          }t          j        ||           ||z   }t          j        |           dD ]v} t          ||          |          } t          ||          |          }t          j        |           t          j        ||z             t          j        ||z             wd S )Nrg   rW   foobar)__add____sub____truediv____mul__rZ   )__eq____le____ge__)r(   namegetattrr>   assert_metadata_equivalentcombine_first)r@   rA   rT   o2oprE   v1v2s           r'   test_metadata_propagationz%TestGeneric.test_metadata_propagation   s    oQ///a000 C 	5 	5B#WQ^^A&&F)!V4444 C 	5 	5B#WQ^^A&&F)!V4444 1 	6 	6BB""B)!R000)!R"W555)!R"W5555 $$
%a000 R
%f--- 1 	3 	3BB""BB##B)"---)"r'222)"r'2222	3 	3r)   c                     t          |d          }|j        t          j        |j                  k    sJ |j        dt          |j                  z  k    sJ d S )N
   rW   )r(   sizer   r   r   lenaxesr@   rA   rT   s      r'   test_size_compatzTestGeneric.test_size_compat   s[     oR000v))))))vs16{{*******r)   c                 4   t          |d          }t          j        t          dd          5  t	          t          j        |d                    dk    sJ t	          t          j        |d                    dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr   rW   z.swapaxes' is deprecatedF)rY   check_stacklevel   r   )r(   r>   assert_produces_warningFutureWarningr   r   array_splitr   s      r'   test_split_compatzTestGeneric.test_split_compat   s    oR000'!;e
 
 
 	2 	2 r~a++,,1111r~a++,,11111		2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2s   ABBBc                 x   t          |d          }d}d}t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t          |          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   z	Star Warszunexpected keywordrX   )epic)r(   r\   r]   	TypeErrormaxvarsumany)r@   rA   rD   starwarserrmsgs        r'   test_stat_unexpected_keywordz(TestGeneric.test_stat_unexpected_keyword   s"   ++%]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#]9F333 	# 	#GGG"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#sG   AAA9BB #B C%%C),C)D//D36D3)r   cumsumr   r   c                     t          |d          }t          ||          }|j        |k    sJ |j                            |          sJ d S )Nr   )r(   r|   r[   __qualname__endswith)r@   r,   rA   rD   rh   s        r'   test_api_compatzTestGeneric.test_api_compat   sW    
 ++CzT!!!!~&&t,,,,,,,r)   c                    t          |d          }t          j        dg          }d}t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |                    |           d d d            n# 1 swxY w Y   t          j        t
          |          5  |	                    |           d d d            d S # 1 swxY w Y   d S )Nr   r   $the 'out' parameter is not supportedrX   out)
r(   r   rS   r\   r]   r^   r   r   r   r   )r@   rA   rD   r   r   s        r'   test_stat_non_defaults_argsz'TestGeneric.test_stat_non_defaults_args
  s,   ++hsmm7]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	]:V444 	 	GGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	sH   A&&A*-A*B//B36B3C88C<?C<EE	Ec                    dgdg|j         dz
  z  z   }t          ||dd          }t          j        |                                |           t          j        |                    dd          |           t          j        |                    dd	          |           d
gdg|j         dz
  z  z   }t          ||dd          }t          j        |                                |           t          j        |                    dd          |           t          j        |                    dd          |           d S )Ni  rZ   int8)r   r"   r   g     p@)beforeafterg     @@i g    `FAg    >A)r   r(   r>   r?   truncate)r@   rA   r   smallbigs        r'   test_truncate_out_of_boundsz'TestGeneric.test_truncate_out_of_bounds  s,    1#!:Q!>?@/5aHHH
((%000
as;;UCCC
b<<eDDD so&?!&CDEfAFFF
,,,
AS993???
Bc::C@@@@@r)   c                 .    |                      d          S )NFdeepr   r3   s    r'   <lambda>zTestGeneric.<lambda>+  s    166u6#5#5 r)   c                 .    |                      d          S )NTr   r   r   s    r'   r   zTestGeneric.<lambda>+  s    TARAR r)   r   )r   rZ   r   c                 r    t          ||          } ||          }||usJ t          j        ||           d S N)r(   r>   r?   )r@   rA   r   r,   rD   obj_copys         r'   test_copy_and_deepcopyz"TestGeneric.test_copy_and_deepcopy)  sI     //499s""""
#&&&&&r)   c                      |            }d}t          j        t          |          5  |j        }d d d            n# 1 swxY w Y   ||j        u sJ d S )Nz&(Series|DataFrame)._data is deprecatedrX   )r>   r   DeprecationWarning_data_mgr)r@   rA   rD   ra   mgrs        r'   test_data_deprecatedz TestGeneric.test_data_deprecated5  s    o6'(:#FFF 	 	)C	 	 	 	 	 	 	 	 	 	 	 	 	 	 	chs   <A A N)r[   
__module__r   r\   markparametrizerk   r0   r:   r   rG   rU   rd   rp   r   r   r   r   r   r   r   r   r   r   r   r.   r)   r'   r+   r+   7   s       [I0044<<000F77$$v,,77788	
 . . .# # #6/ / /b  (03 03 03d+ + +2 2 2# # # [V%D%D%DEE- - FE-  A A A" [	x557R7RS  [Wiii00' ' 10	 
'    r)   r+   c            
          e Zd Zej                            d e ed          ej	                   ed  ed          D             e
          g          d             Zd Zd Zd Zd	 Zd
 Zd Zej                            d e ed          ej	                   ed  ed          D             e
          g          d             Zd Zd Zej                            d e ed          ej	                   ed  ed          D             e
          g          d             Zd Zd Zd Zd ZddZdS )TestNDFrameserr   r   c                 ,    g | ]}t          |          S r.   rk   r2   rL   s     r'   
<listcomp>zTestNDFrame.<listcomp>D      ...qCFF...r)   c                 T    t          j        |                                |           d S r   )r>   assert_series_equalsqueezer@   r   s     r'   test_squeeze_series_noopz$TestNDFrame.test_squeeze_series_noop@  s%     	s{{}}c22222r)   c                     t          t          j        d                    }t          j        |                                |           d S )Nr   )r   r   eyer>   assert_frame_equalr   r@   dfs     r'   test_squeeze_frame_noopz#TestNDFrame.test_squeeze_frame_noopK  s8    rvayy!!
bjjllB/////r)   c           	      p   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          	                    d
g          }t          j        |                                |d
                    d S )Nr   r   r8   r5   r   
2000-01-01r   rj   periodsfreqrQ   indexri   rQ   )r   r   r   r   r    r   r:   objectr	   reindexr>   r   r   r   s     r'   test_squeeze_frame_reindexz&TestNDFrame.test_squeeze_frame_reindexP  s    I!!!$$44W==$v,,f555\2C@@@
 
 
 '3%'
 
 	 	
 	rzz||RW55555r)   c                     t          g dt          j                  }t          |g          }t	          j        ||                                           t	          j        ||                                           d S )Nfive)r{   r   )r   r   r   r   r>   r   r   )r@   empty_seriesempty_frames      r'   test_squeeze_0_len_dimz"TestNDFrame.test_squeeze_0_len_dimY  sk    bvRZ@@@//
|\-A-A-C-CDDD
|[-@-@-B-BCCCCCr)   c           	      P   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          j	        d d d df         }|j
        d
k    sJ t          j        |                    d          |j	        d                    t          j        |                    d          |j	        d                    t          j        |                    d          |j	        d d df                    t          j        |                    d          |j	        d d df                    |                                |j	        d         k    sJ d}t          j        t           |          5  |                    d           d d d            n# 1 swxY w Y   d}t          j        t           |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   )rZ   r8   r5   r   r   rZ   rj   r   r   )rZ   rZ   r   rC   r   rQ   )r   r   z)No axis named 2 for object type DataFramerX   z)No axis named x for object type DataFramer3   )r   r   r   r   r    r   r:   r   r	   ilocr   r>   r   r   r\   r]   r^   )r@   r   ra   s      r'   test_squeeze_axiszTestNDFrame.test_squeeze_axis`  sl   I!!!$$44V<<$v,,f555\13???
 
 
 qqq"1"u	
 x6!!!!
rzzqz11271:>>>
rzzwz77DDD
rzzqz1127111a4=AAA
rzzyz9927111a4=IIIzz||rwt},,,,9]:S111 	 	JJAJ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	9]:S111 	! 	!JJCJ   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s$   ,GGG7HH"Hc           	      >   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
        |                    d
          |           d S )Nr   )rg   r8   r5   r   r   rg   rj   r   r   r   r   )r   r   r   r   r    r   r:   r   r	   r>   r   r   r   s     r'   test_squeeze_axis_len_3z#TestNDFrame.test_squeeze_axis_len_3t  s    I!!!$$44V<<$v,,f555\13???
 
 

 	bjjaj00"55555r)   c           	         t          t          d          t          j                  }t	          j        t          j        |          |           t          t          j        	                    d          
                    d          t          t          d          t                    t          ddd          	                              d
g          }t	          j        t          j        |          |d
                    d S )Nr   r   r   r5   r   r   rj   r   r   ri   r   )r   rK   r   r   r>   r   r   r   r   r   r    r   r:   r   r	   r   )r@   sr   s      r'   test_numpy_squeezezTestNDFrame.test_numpy_squeeze|  s    5882:...
rz!}}a000I!!!$$44W==$v,,f555\2C@@@
 
 
 '3%'
 
 	 	
 	rz"~~r#w77777r)   c                 ,    g | ]}t          |          S r.   r   r   s     r'   r   zTestNDFrame.<listcomp>  r   r)   c                 T    t          j        |                                |           d S r   )r>   r   	transposer   s     r'   test_transpose_seriesz!TestNDFrame.test_transpose_series  s%     	s}}44444r)   c           	      ^   t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
        |                                                                |           d S )
Nr   r   r5   r   r   r   rj   r   r   )r   r   r   r   r    r   r:   r   r	   r>   r   r   r   s     r'   test_transpose_framez TestNDFrame.test_transpose_frame  s    I!!!$$44W==$v,,f555\2C@@@
 
 

 	bllnn6688"=====r)   c           	         t          t          j                            d                              d          t          t          d          t                    t          ddd          	          }t          j
        ||          }|t          u r't          j        t          j        |          |           t          j        t          j        t          j        |                    |           d
}t          j        t"          |          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nr   r   r5   r   r   r   rj   r   r   z%the 'axes' parameter is not supportedrX   rZ   )r   )r   r   r   r   r    r   r:   r   r	   r>   get_objr   r   r   r?   r\   r]   r^   )r@   rA   rD   ra   s       r'   test_numpy_transposez TestNDFrame.test_numpy_transpose  sU   I!!!$$44W==$v,,f555\2C@@@
 
 

 jo..f$$"2<#4#4c::: 	R\#%6%677===5]:S111 	& 	&L1%%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   D33D7:D7c                 ,    g | ]}t          |          S r.   r   r   s     r'   r   zTestNDFrame.<listcomp>  r   r)   c                     g d}|                     |          }t          |j                             |          |j                             |          |j                  }t          j        ||           d S )NrZ   r      rg   r   )datar   r   )taker   valuesr   r   r>   r   )r@   r   indicesr   rF   s        r'   test_take_serieszTestNDFrame.test_take_series  sv     '&&hhw)))..)))
 
 

 	sH-----r)   c           	         g d}t          t          j                            d                              d          t          t          d          t                    t          ddd	          
          }|	                    |          }t          |j
        	                    |d          |j        	                    |          |j                  }t          j        ||           d S )Nr   r   r   r5   r   r   r   rj   r   r   r   r   )r   r   rQ   )r   r   r   r   r    r   r:   r   r	   r   r   r   rQ   r>   r   )r@   r  r   r   rF   s        r'   test_take_framezTestNDFrame.test_take_frame  s    &&&I!!!$$44W==$v,,f555\2C@@@
 
 

 ggga00(--((J
 
 

 	c8,,,,,r)   c                 :   g d}t          t          d                    }t          j        ||          }d}t	          j        t          |          5  |                    |d           d d d            n# 1 swxY w Y   d}t	          j        t          |          5  |                    ||           d d d            n# 1 swxY w Y   d	}t	          j        t          |          5  |                    |d
           d d d            d S # 1 swxY w Y   d S )N)r   r   rZ   r   z1take\(\) got an unexpected keyword argument 'foo'rX   r   )rr   r   r   z%the 'mode' parameter is not supportedclip)mode)	r   rK   r>   r   r\   r]   r   r   r^   )r@   rA   r  rD   ra   s        r'   test_take_invalid_kwargsz$TestNDFrame.test_take_invalid_kwargs  s   --a!!jo..B]9C000 	% 	%HHW!H$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 5]:S111 	+ 	+HHW'H***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 6]:S111 	+ 	+HHW6H***	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+ 	+s6   A77A;>A;CC
C+DDDc                 |   |} |t                     }|j                                        }|D ]}|                    |          |                    |          k    sJ |                    |          |                    |          k    sJ |                    |          |                    |          k    sJ d S )Nr   )r   _AXIS_TO_AXIS_NUMBERkeys_get_axis_numberrJ   _get_block_manager_axis)r@   rA   r!   rD   r   vs         r'   test_axis_classmethodsz"TestNDFrame.test_axis_classmethods  s    c)..00 	T 	TA''**c.B.B1.E.EEEEE%%a((C,>,>q,A,AAAAA..q11S5P5PQR5S5SSSSSS	T 	Tr)   c                     t          ddg          }|t          u r|                                }|j        |j        u sJ |                                }|j        |j        usJ d S )NrZ   r   )r   r   to_frameflagsr   )r@   rA   rD   rc   s       r'   test_flags_identityzTestNDFrame.test_flags_identity  sf    aVnni'',,..CyCI%%%%xxzzz******r)   returnNc                     d}t          j        t          |          5  t          ddgi                                           d d d            d S # 1 swxY w Y   d S )NzPDataFrame.bool is now deprecated and will be removed in future version of pandasrX   colF)r>   r   r   r   r_   )r@   msg_warns     r'   test_bool_depzTestNDFrame.test_bool_dep  s    * 	 'XFFF 	/ 	/uug&'',,...	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/s   %AAA)r  N)r[   r   r   r\   r   r   r   rK   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r.   r)   r'   r   r   =  sY        [F5599BJ///F..EE"II...f===	
 3 3 30 0 0
6 6 6D D D! ! !(6 6 6	8 	8 	8 [F5599BJ///F..EE"II...f===	
 5 5 5> > >& & && [F5599BJ///F..EE"II...f===	
 . . .- - -+ + +$T T T+ + +/ / / / / /r)   r   )NN)r   r   numpyr   r\   pandas.core.dtypes.commonr   pandasr   r   r   r	   pandas._testing_testingr>   r(   r+   r   r.   r)   r'   <module>r     s(         
      / / / / / /                 + + + +@C C C C C C C CL{/ {/ {/ {/ {/ {/ {/ {/ {/ {/r)   