
    d                        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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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$          ej                            dddg          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skipnaTF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r
   )	r   getattrbuiltinsr	   r   r   groupbytmassert_frame_equal)r   r
   r   dfexpexp_dfresults          ]/var/www/html/t/fyr/venv311/lib/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uqy5'SzPU9V9V9VWWWF1WRZZ&&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%   expectedr(   s      r)   test_anyr4   3   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$   )r5   r%   grp_byr(   r3   s        r)    test_bool_aggs_dup_column_labelsr:   @   s|     
T4L>C:	6	6	6BZZ__F+WV]++--F{{28QC==))H&(+++++r+   datac                 (   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   r8   r"   aggr#   assert_series_equal)r5   r
   r;   serexpected_datar3   r(   s          r)   test_masked_kleene_logicrE   K   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   pdr8   r"   rA   r#   r$   )dtype1dtype2exp_col1exp_col2r;   r%   r(   r3   s           r)   test_masked_mixed_typesrQ   e   s    > =D	$f---rxF7S7S7STT
 
B ZZA##E%#88F(H==RXqc]]SSSH&(+++++r+   r?   )rH   rG   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   )rL   NAr1   r8   r"   rA   r#   assert_equal)r5   r?   r
   frame_or_seriesobjexpected_resr3   r(   s           r)   test_masked_bool_aggs_skipnarX      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"   lenrA   r1   r8   r#   rT   )r5   r;   rW   rU   rV   r(   r3   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   rL   rS   r[   pytestraises	TypeErrorr"   rA   )r5   rC   s     r)   'test_object_NA_raises_with_skipna_falserc      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   r[   r    r"   r   rZ   r#   rT   )rU   r5   kwargsrV   r(   r3   s         r)   
test_emptyrg      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`   pandasrL   r   r   r   r   pandas._testing_testingr#   markparametrizer2   r*   r4   r:   rS   rE   r8   rZ   rQ   rX   NaTr]   rc   rg   re   r+   r)   <module>ro      s                              eU^44D%=11
							  $* *%  21 54(*
, 
, 
, 5%.99, , :9, 5%.99D%=11
	ru	u	rud	rue
 

- 
-
 
 21 :9
- % BHdV4(((BHbeWI...		
 BHbeWI...BHdV4(((		
 BHbeWI...BHbeWI...		
 BHbeWI...BHbeWI...		
' :	, 	,; :	, 5%.99"A"A"ABBD%=11	& 	& 21 CB :9	& %	'	26"D)	&	rv&.	 & & & 5%.99: : :9: 5%.99& & :9& & &r+   