
    o[we(                     @   d dl Z d dlZd dlZd dlZd dlmZmZmZm	Z	 d dl
mZ ej                            dddg          ej                            dg dg dg d	g d
g dg dg dg dg dg dg dg dej        ej        ej        gg          d                         Zd Zej                            dddg          d             Zej                            dddg          ej                            dg dg dej        ej        ej        gdej        dgdej        dgdej        dgg          d                         Zej                            ddd ej        dge           ej        ej        gd          fd d ej        ej        gd           ej        dge          fd d  ej        ej        gd           ej        ej        gd          fdd ej        ej        gd           ej        ej        gd          fg          d!             Zej                            dddg          ej                            d"g d#          d$                         Zej                            d%dej        ej        gdfdej        d&ej        gdfdej        ej        gdfdej        dej        gdfg          d'             Zej                            dddg          d(             Zej                            dddg          d)             ZdS )*    N)	DataFrameIndexSeriesisnaagg_funcanyallvals)foobarbaz)r    r   )r   r   r   )         )r   r   r   r   r   r   )      ?g       @g      @)r           r   )r   r   r   )TTT)TFF)FFFc                    t          dgdz  dgdz  z   |dz  d          } t          t          |          |          }| r$t          t	          |                    r|dk    rd}t          |gdz  dgt          ddgd	
                    } t          |                    d	          |          |           }t          j        ||           d S )Nar   br   )keyvalr   Fr   r   )namecolumnsindexskipna)	r   getattrbuiltinsr	   r   r   groupbytmassert_frame_equal)r   r   r
   dfexpexpectedresults          Alib/python3.11/site-packages/pandas/tests/groupby/test_any_all.pytest_groupby_bool_aggsr*      s    ( 
C519uqy0BB	C	CB &'(H
%
%d
+
+C  #d4jj// h%&7&7		E7%c
*G*G*G  H 2WRZZ&&11@@@F&(+++++    c                  2   t          g ddt          j        dgdt          j        dggg d          } t          ddgd	dggd
dgddg          }d|j        _        |                     d                                          }t          j        ||           d S )N)r   r   r   r   r   r   r   )ABCr   TFr.   r/   r   r-   )	r   npnanr   r   r"   r   r#   r$   )r%   r'   r(   s      r)   test_anyr3   4   s    		BFE*Q,>?
 
 
B 
t}%Sz!Q  H HNZZ__  ""F&(+++++r+   bool_agg_funcc                    t          ddggddg          }|                    dg          } t          ||                       }|                    t	          j        dg                    }t          j        ||           d S )NTr   r0   r   )r   r"   r    set_axisr1   arrayr#   r$   )r4   r%   grp_byr(   r'   s        r)    test_bool_aggs_dup_column_labelsr9   A   s|     
T4L>C:	6	6	6BZZ__F+WV]++--F{{28QC==))H&(+++++r+   dataFTc                 (   t          |d          } t          ||           |          }t          |t          j        dg          d          }|                    g d                              | |          }t          j        ||           d S )Nbooleandtyper   r   r   r>   r   )r   r    r1   r7   r"   aggr#   assert_series_equal)r4   r   r:   serexpected_datar'   r(   s          r)   test_masked_kleene_logicrD   L   s     Y
'
'
'C 0GC//v>>>Mm28QC==	JJJH[[##''f'EEF68,,,,,r+   zdtype1,dtype2,exp_col1,exp_col2floatFloat64r=   r<   Int64c                 f   dt           j        g}t          t          j        ||           t          j        ||          d          }|                    ddg                              dd          }t          ||dt          j        dg                    }t          j        ||           d S )	Nr   r=   )col1col2r   r	   Fr   )r   )	r1   r2   r   pdr7   r"   r@   r#   r$   )dtype1dtype2exp_col1exp_col2r:   r%   r(   r'   s           r)   test_masked_mixed_typesrP   e   s    > =D	$f---rxF7S7S7STT
 
B ZZA##E%#88F(H==RXqc]]SSSH&(+++++r+   r>   )rG   rF   r<   c                 *    |t           j        dg|          }d}|s| dk    rt           j        } ||gt          j        dg          d          }|                    ddg                              | |          }t          j        ||           d S )Nr   r=   Tr	   r<   r?   r   )rK   NAr1   r7   r"   r@   r#   assert_equal)r4   r>   r   frame_or_seriesobjexpected_resr'   r(   s           r)   test_masked_bool_aggs_skipnarW      s     /25!*E
2
2
2CL mu,,u~RXqc]])TTTH[[!Q  $$]6$BBFOFH%%%%%r+   zbool_agg_func,data,expected_resr   c                 
    ||t                     }|                    dgt          |          z                                |           } ||gt	          j        dg          d          }t          j        ||           d S )Nr=   r   boolr?   )objectr"   lenr@   r1   r7   r#   rS   )r4   r:   rV   rT   rU   r(   r'   s          r)   test_object_type_missing_valsr\      s}     /$f
-
-
-C[[!s4yy))--m<<F~RXqc]]&QQQHOFH%%%%%r+   c                    t          t          j        gt                    }t	          j        t          d          5  |                    dg                              | d           d d d            d S # 1 swxY w Y   d S )Nr=   z boolean value of NA is ambiguous)matchr   Fr   )	r   rK   rR   rZ   pytestraises	TypeErrorr"   r@   )r4   rB   s     r)   'test_object_NA_raises_with_skipna_falserb      s     "%
'
'
'C	y(J	K	K	K : :QC]5999: : : : : : : : : : : : : : : : : :s   ,A66A:=A:c                     | t           u rddginddi} | di |dt          i} t          |                    |j                  |                      } | di |dt
          i}t          j        ||           d S )Nr   r   r   r>    )r   rZ   r    r"   r   rY   r#   rS   )rT   r4   kwargsrU   r(   r'   s         r)   
test_emptyrf      s     $3i#?#?i#fc]F
/
1
1F
1
1&
1
1
1C;WS[[++];;==F4444t444HOFH%%%%%r+   )r!   numpyr1   r_   pandasrK   r   r   r   r   pandas._testing_testingr#   markparametrizer2   r*   r3   r9   rR   rD   r7   rY   rP   rW   NaTr\   rb   rf   rd   r+   r)   <module>rn      s                              eU^44
							  $, ,%  54&,"
, 
, 
, 5%.99, , :9, 5%.99
	ru	u	rud	rue
 

- 
-
 
 :9
- % BHdV4(((BHbeWI...		
 BHbeWI...BHdV4(((		
 BHbeWI...BHbeWI...		
 BHbeWI...BHbeWI...		
' :	, 	,; :	, 5%.99"A"A"ABB	& 	& CB :9	& %	'	26"D)	&	rv&.	 & & & 5%.99: : :9: 5%.99& & :9& & &r+   