
    Q3jc                     N   d dl Z d dlmZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 d dlZd dlmZ d dlmZmZmZ d dlmZ d d	lmZmZ d d
lmZmZmZ d dlmZ d dlmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'  ejP                  d      jS                  d      Z*d Z+ejX                  j[                  dddd ej\                  d      dfg ddfg ddfdd e/dd      df e/d d      df ej`                  g dejb                        df ej`                  g dejd                        df ej`                  g dejf                        dfddgdfd  ej`                  ddg      dfd!g d"dfd# e/d$d%      df ej`                  g d"      df ej`                  g d"e4      dfg      d&        Z5d' Z6d( Z7e$ejX                  j[                  d) e             d*               Z8e$ejX                  j[                  d) e             ejX                  j[                  d+d d,d-d.g ej`                  d-d.g       e/d-d      g d/ ejr                  g d0      f      ejX                  j[                  d1d d-g      d2                             Z:ejX                  j[                  d3g d4      ejX                  j[                  d5g d6      d7               Z;ejX                  j[                  d3g d8      ejX                  j[                  d5g d6      d9               Z<ejX                  j[                  d3g d:      ejX                  j[                  d5g d6      ejX                  j[                  d;d-dgd<d=gg      d>                      Z=ejX                  j[                  d?ddg      ejX                  j[                  d@ddg      ejX                  j[                  d3g d:      ejX                  j[                  d5dAdBg      ejX                  j[                  dCd g dDg dEgfd-dd.gdFdGgdHdggfg      dI                                    Z>ejX                  j[                  d3g d8      ejX                  j[                  d5g dJ      dK               Z?ejX                  j[                  d3g d:      ejX                  j[                  d5g dJ      ejX                  j[                  dLd g dDg dEgfd-dd.gdFdGgdHdggfg      dM                      Z@ejX                  j[                  dNg dO      dP        ZAejX                  j[                  d3g d8      dQ        ZBejX                  j[                  dNg dR      ejX                  j[                  d;dd=g      dS               ZCejX                  j[                  d3g dT      dU        ZDdV ZEejX                  j[                  d1dd.g      dW        ZFejX                  j[                  dXg dY      dZ        ZGd[ ZHd\ ZIejX                  j[                  d;d d d-g e/d d       ej`                  d d-g      g      d]        ZJejX                  j[                  d3g d^      d_        ZKejX                  j[                  d`dadb e4       dcfg      dd        ZLejX                  j[                  dedfgdggdfdggdfdhgdgdhgg      di        ZMejX                  j[                  djg dk      dl        ZNdm ZOdn ZPdo ZQdp ZRdq ZSdr ZTejX                  j[                  dse'      dt        ZUdu ZVejX                  j[                  dve&      dw        ZWy)x    N)copy)SkipTest)DuplicateError)kstest)parse)_safe_indexingresampleshuffledevice)move_to)yield_namespace_device_dtype_combinations)_determine_key_type_get_column_indices_safe_assign)MockDataFrame)_array_api_for_tests_convert_containerassert_allcloseassert_allclose_dense_sparseassert_array_equal'skip_if_array_api_compat_not_configured)CSC_CONTAINERSCSR_CONTAINERS	   )   r   c                     t        j                  dd      } | j                  g dg dg ddd	      }d
dlm} dgddgg ddgdgg}|D ]  }t        ||d      } |||   |        g dddgfg ddgfg}|D ]#  \  }}t        ||d      } ||dd|f   |       % d
dgddgfdgdgfg}	|	D ]#  \  }
}t        ||
d      } ||dd|f   |       % d
dgddgddgg}|D ]  }t        ||d
      } |||   |        y)z,Check _safe_indexing for polars as expected.polarsz0.18.2)
minversion)      r      )r"            )r    r"   r    
   abcrow)orientr   )assert_frame_equalr)   r(   )r)   r(   r*   r*   r    axisTFT)FFTNr!   r   )pytestimportorskip	DataFramepolars.testingr-   r   )pldfr-   str_keyskeyout	bool_keysbool_keystr_keyint_keysint_keyaxis_0_keyss               N/DATA/.local/lib/python3.12/site-packages/sklearn/utils/tests/test_indexing.pytest_polars_indexingrA   (   sT   			X(	;B	MB5 
 
B 2Sz?SEC5AHR1-2c7C(  &Sz25IC54QRI&'R22aj>3/ ' Q#s$sSEl3H$Rq12aj>3/ % q6Aq6Aq6*KR1-2c7C(     z
key, dtype)r   int)0str)TboolTrF   r   r    r!   rC   rD   12rE   )rG   rC   )rH   rE   r!   dtypeF))TFrF   )col_0rE   rM   col_1col_2)rN   rE   beginendc                 $    t        |       |k(  sJ y N)r   )r8   rL   s     r@   test_determine_key_typerU   I   s    8 s#u,,,rB   c                  z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)NNo valid specification of thematch      ?)r1   raises
ValueErrorr    rB   r@   test_determine_key_type_errorr^   h   s&    	z)H	IC  
J	I	Is   1:c                      t        j                  t        d      5  t        t	        ddd      d       d d d        y # 1 sw Y   y xY w)NzOnly array-like or scalar arerX   r   r!   r    F)accept_slice)r1   r[   	TypeErrorr   slicer]   rB   r@   #test_determine_key_type_slice_errorrc   m   s0    	y(G	HE!QN? 
I	H	Hs	   >Az(array_namespace, device_name, dtype_namec                    t        | ||      \  }}t        j                  d      5  |j                  g d|      }t	        |      dk(  sJ |j                  g d|      }t	        |      dk(  sJ 	 |j                  g d|      }|/t        j                  t        d	
      5  t	        |       d d d        d d d        y # t
        $ r d }Y Gw xY w# 1 sw Y   #xY w# 1 sw Y   y xY w)NTarray_api_dispatchr    r!   r   r   rC   r0   rF   )y      ?      ?y       @       @y      @      @rW   rX   )	r   sklearnconfig_contextasarrayr   ra   r1   r[   r\   )array_namespacedevice_name
dtype_namexpr   int_array_keybool_array_keycomplex_array_keys           r@   !test_determine_key_type_array_apirr   r   s     &o{JOJB			4	8

9V
<"=1U:::$7G">2f<<<	% "

+CF
 S
 (z1PQ#$56 R 
9	8  	% $	%
 RQ 
9	8sH   AC3CC%C1CCCCCC	CC(indexing_keyr    r   )TFTT)FFFFr/   c                    t        | ||      \  }}t        j                  d      j                  dd      }t	        |||      }t        |||      }	t        j                  d      5  t	        |	||      }
t        |
      t        |	      k(  sJ |
j                  |	j                  k(  sJ 	 d d d        t        t        
t        d      |       y # 1 sw Y   &xY w)N   r"   r.   )rn   r   Tre   cpu)r   nparangereshaper   r   rh   ri   array_api_devicerL   r   )rk   rl   rm   rs   r/   rn   r   array_to_index_npexpected_resultarray_to_index_xpindexed_array_xps              r@   $test_safe_indexing_array_api_supportr      s    * &o{JOJB		"--a3$%64PO 1bH			4	8)*;\PTU 015EFW5XXXX%%):)@)@@@@ 
9
 G,EBOT 
9	8s   (ACC
array_type)listarraysparsepandasr   pyarrowindices_type)r   tupler   seriesrb   c                     ddg}|dk(  r t        |d   t              r|dxx   dz  cc<   t        g dg dg dg|       }t        ||      }t        ||d      }t	        |t        g dg dg|              y )	Nr    r!   rb   rg   r"   r#   r$      r%   r   r   r.   
isinstancerC   r   r   r   r   r   indicesr   subsets        r@   &test_safe_indexing_2d_container_axis_0r      sv    
 !fGw:gaj##>
a
	9i@*ME ,7GE73F "Iy#9:FrB   )r   r   r   polars_seriespyarrow_arrayc                     ddg}|dk(  r t        |d   t              r|dxx   dz  cc<   t        g d|       }t        ||      }t        ||d      }t	        |t        ddg|              y )Nr    r!   rb   	r    r!   r   r"   r#   r$   r   r%   r   r   r.   r   r   r   s        r@   test_safe_indexing_1d_containerr      sl    
 !fGw:gaj##>
a
:JGE ,7GE73F );QFJ)OPrB   )r   r   r   r   r   r   rO   rP   c           	         t        |      }|dk(  r t        |d   t              r|dxx   dz  cc<   g d}t        g dg dg dg| |      }t        ||      }t        |d   t              r9| dv r5d	}t        j                  t        |
      5  t        ||d       d d d        y t        ||d      }t        |t        ddgddgddgg|              y # 1 sw Y   y xY w)Nrb   r    rN   rg   r   r   r   r   r   ESpecifying the columns using strings is only supported for dataframesrX   r.   r!   r   r#   r$   r%   r   )
r   r   rC   r   rE   r1   r[   r\   r   r   )r   r   r   indices_convertedcolumn_namesr   err_msgr   s           r@   &test_safe_indexing_2d_container_axis_1r      s     Ww:gaj##>!!.L	Iy):|E ++<lK'!*c"z5H'HS 	 ]]:W55"3!< 65  '8qA$&AAA'?L	
	 65s   CCarray_read_onlyindices_read_onlyr   r   zaxis, expected_arrayr   r   r#   r$   r%   c                 6   t        j                  g dg dg dg      }| r|j                  d       t        ||      }t        j                  ddg      }|r|j                  d       t        ||      }t	        |||      }t        |t        ||             y )	Nrg   r   r   F)writer    r!   r.   )rx   r   setflagsr   r   r   )	r   r   r   r   r/   expected_arrayr   r   r   s	            r@   &test_safe_indexing_2d_read_only_axis_1r      s     HHiI67EU#uj1Ehh1vGu% ,7GE76F );NJ)WXrB   )r   r   r   r   c                     dgdgdz  z   dgdz  z   }t        g d|       }t        ||      }t        ||d      }t        |t        ddg|              y )	NFTr!   r$   r   r   r.   r   r   r   r   r   s        r@   $test_safe_indexing_1d_container_maskr     s^    
 g
"eWq[0G:JGE ,7GE73F );QFJ)OPrB   zaxis, expected_subsetc                     g d}t        g dg dg dg| |      }g d}t        ||      }t        |||      }t        |t        ||              y )NrN   rg   r   r   )FTTr.   r   )r   r   r/   expected_subsetr   r   r   r   s           r@   test_safe_indexing_2d_maskr     sW     /L	Iy):|E "G ,7GE76F "?J?rB   z array_type, expected_output_type))r   r   r   r   r   r   r   r   r   r   r   r   c                     t        g dg dg dg|       }d}t        ||d      }t        g d|      }t        ||       y )Nrg   r   r   r!   r   r.   r   )r   expected_output_typer   r   r   r   s         r@   #test_safe_indexing_2d_scalar_axis_0r   &  sA     	9i@*MEGE73F'	3GHN 8rB   c                 N    t        g d|       }d}t        ||d      }|dk(  sJ y )Nr   r!   r   r.   r   )r   r   )r   r   r   r   s       r@   test_safe_indexing_1d_scalarr   9  s0     :JGEGE73FQ;;rB   )r   r   r   r   r   c                 P   g d}t        g dg dg dg| |      }t        |t              r9| dv r5d}t        j                  t
        |      5  t        ||d	       d d d        y t        ||d	      }g d
}|dk(  rdgdgdgg}t        ||      }t        ||       y # 1 sw Y   y xY w)NrN   rg   r   r   r   r   rX   r    r.   )r   r$   r   r   r   r$   r   )r   r   rE   r1   r[   r\   r   r   )	r   r   r   r   r   r   r   expected_outputr   s	            r@   #test_safe_indexing_2d_scalar_axis_1r   C  s     /L	Iy):|E '3J2E$ES 	 ]]:W55'2 65  wQ7#8+ !sQC!oO+O=QR$V^< 65s   BB%)r   r   r   c                 b    t        g dg dg dg|       }t        |d d      }t        ||       y )Nrg   r   r   r   r.   r   )r   XX_subsets      r@   test_safe_indexing_None_axis_0r   d  s-    Iy)<jIAaA.H 1-rB   c                      t        j                  d      } d}| j                  t              }t        j                  t
        |      5  t        |dgd       d d d        y # 1 sw Y   y xY w)Nr   z&No valid specification of the columns.rX   rZ   r    r.   )r1   r2   r3   X_toyr[   r\   r   )pdr   r   s      r@   0test_safe_indexing_pandas_no_matching_cols_errorr   k  sM    			X	&B6G
UA	z	1q3%a( 
2	1	1s   A!!A*c                     t        j                  t        d      5  t        t        ddg|        d d d        y # 1 sw Y   y xY w)Nz'axis' should be either 0rX   r   r    r.   )r1   r[   r\   r   r   r.   s    r@   test_safe_indexing_error_axisr   s  s.    	z)D	Euq!f40 
F	E	Es	   :AX_constructor)r   r   r   r   c                    t        t        d            }| dk(  rt        j                  |      } n| dk(  r't	        j
                  d      }|j                  |      } nX| dk(  r(t	        j
                  d      }|j                  |      } n+| dk(  r&t	        j
                  d	      }|j                  |      } d
}t	        j                  t        |      5  t        | ddgd       d d d        y # 1 sw Y   y xY w)Nr#   r   r   r   r   r   )valuesr   r   z='X' should be a 2D NumPy array, 2D sparse matrix or dataframerX   r   r    r.   )r   rangerx   rj   r1   r2   Seriesr   r[   r\   r   )r   r   r   r5   par   s         r@   !test_safe_indexing_1d_array_errorr   y  s     	U1XA

1	(	"  *		!	/	)  *			+	/	)  +MG	z	1}q!f15 
2	1	1s   C++C4c                      ddg} g dg dg dg}d}t        j                  t        |      5  t        || d	       d d d        y # 1 sw Y   y xY w)
NrO   rP   rg   r   r   z/String indexing.*is not supported with 'axis=0'rX   r   r.   r1   r[   r\   r   )r   r   r   s      r@   4test_safe_indexing_container_axis_0_unsupported_typer     sC     G	9-E@G	z	1ugA. 
2	1	1s   AAc                  b   t        j                  d      } t        | j                        }t        |j                        }|t        d      k\  rt        d      | j                  g dg dd      }t        |ddgd	      }t        | j                  d
      r| j                  j                  }n | j                  j                  j                  }t        j                         5  t        j                  d|       d|j                   d<   d d d        |j                   d   dk(  sJ y # 1 sw Y   xY w)Nr   3z;SettingWithCopyWarning has been removed in pandas 3.0.0.devrg   )r   r"   r#   )r(   r)   r   r    r.   SettingWithCopyWarningerrorr&   )r   r   )r1   r2   parse_version__version__base_versionr   r3   r   hasattrerrorsr   corecommonwarningscatch_warningssimplefilteriloc)r   
pd_versionpd_base_versionr   r   r   s         r@   4test_safe_indexing_pandas_no_settingwithcopy_warningr     s     
		X	&Br~~.J#J$;$;<O-,,TUU
9956AA1vA.Fryy23!#!A!A "$!F!F		 	 	"g'=>D 
# 66$<1	 
#	"s   "&D%%D.c                     ddgddgddgg}d}t        j                  t        |      5  t        || d	       d
d
d
       y
# 1 sw Y   y
xY w)z@Check that we raise a ValueError when axis=1 with input as list.r    r!   r"   r#   r   r%   z!axis=1 is not supported for listsrX   r.   Nr   )r   r   r   s      r@   *test_safe_indexing_list_axis_1_unsupportedr     sG     Q!Q!Q A1G	z	1q'* 
2	1	1s   AA
)r   r   r   c                    t         j                  j                  d      }|j                  dd      }ddg}|j                  t	        |      |j
                  d         }t        ||       }t        |||       t        ||d      }t        |t        ||              ddg}|j                  |j
                  d   t	        |            }t        ||       }t        |||       t        ||d      }t        |t        ||              d	\  }} |j                  |j
                   }t        ||       }t        |||       t        |t        ||              y
)z,Check that `_safe_assign` works as expected.r   r&   r#   r    r!   )row_indexerr.   )column_indexer)NNN)
rx   randomRandomStaterandnlenshaper   r   r   r   )r   rngX_arrayr   r   r   assigned_portionr   s           r@   test_safe_assignr     s:    ))


"CiiAGa&KYYs;'q)9:F7J/AF4%a1= ,VZ@ VNYYw}}Q'^)<=F7J/AF>:%aa@ ,VZ@ #-KSYY F7J/AF>: $6vz$JKrB   zkey, err_msg)r&   z all features must be in \[0, 2\])whateverzBSome column names are not columns of the dataframe: \{'whatever'\}z%No valid specification of the columnsc                     t        j                  d      }|j                  t        g d      }t        j                  t
        |      5  t        ||        d d d        y # 1 sw Y   y xY w)Nr   rN   columnsrX   )r1   r2   r3   r   r[   r\   r   )r8   r   r   X_dfs       r@   test_get_column_indices_errorr     sK     
		X	&B<<'B<CD	z	1D#& 
2	1	1s   
A  A)r8   col1col2col3c                    t        j                  d      }t        j                  dt              }g d}|j                  ||      }d}t        j                  t        |      5  t        ||        d d d        y # 1 sw Y   y xY w)Nr   )r    r#   rK   )r   r   r   r   r   r   z#Expected unique column names, got.*rX   )	r1   r2   rx   zerosrC   r3   r[   r   r   )r8   r   toyr   r   r   s         r@   6test_get_column_indices_pandas_nonunique_columns_errorr     sd     
		X	&B
((6
%C6G
S'*A3G	~W	5As# 
6	5	5s   %A;;Bconstructor_name)r   r   r   r   r   c                    t        g dg dg| g d      }t        dd      ddgdft        dd      d	dgdft        dd      dgdfd
dgddgdft        dd
      d	dgdft        dd      g ddft        dd      d	gdfddgdd	gdfg g dfg	}d}|D ]N  \  }}}| dv r3|r1t        j                  t        |      5  t        ||       ddd       >t        ||      |k(  rNJ  | dvrqd}t        j                  t        |      5  t        |dg       ddd       d}t        j                  t        |      5  t        |t        ddd             ddd       yy# 1 sw Y   xY w# 1 sw Y   TxY w# 1 sw Y   yxY w)z9Check _get_column_indices for edge cases with 2d input X.rg   r   r'   )r   r    Nr!   Fr   r)   r*   Tr(   rG   r   r   rX   zFSome column names are not columns of the dataframe: \{'not_a_column'\}not_a_columnzkey.step must be 1 or None)r   rb   r1   r[   r\   r   NotImplementedError)r   r6   key_resultsmsgr8   result	use_namess          r@   "test_get_column_indices_dataframesr    s   
 
	I 0
B
 
q$!Q'	tQ!Q'	q!qc5!
saVT"	sC1a&$'	sD	9d+	tS	A3%
saVT"	R
K RC"-VY22yz5#B, 65 'r3/6999 #. 22W]]:S1^$45 2 +]].c:E#tQ$78 ;: 3 65 21 ;:s$   7EE"4E.E	"E+.E7c                  R   t               J t        j                  t              5  t        dgddg       d d d        t        j                  t              5  t        ddgddgdd       d d d        t	        t        ddgd            dk(  sJ y # 1 sw Y   \xY w# 1 sw Y   3xY w)	Nr   r    Fr   )replace	n_samplesr!   r#   )r  )r	   r1   r[   r\   r   r]   rB   r@   test_resampler  $  s    : 
z	"!q!f 
#	z	"!Q!Q!< 
# xA!,-222 
#	"	"	"s   BBBB&c                  N   t        j                  g d      } t        j                  g d      }g }g }t        d      D ]  }|j	                  t        | j                  |      d|| j                  d         j                                |j	                  t        | |d|| j                  d         j                                 t        j                  |      }t        j                  |      }t        ||      }t        j                  |dk\        sJ |j                  dkD  sJ y )	N)rt   r   r    )r   d   r    r	  Tr   )r  random_stater  )sample_weightr  r
  r  g?)rx   r   rj   r   appendr	   repeatr   meanr   allpvalue)datar  mean_repeatedmean_reweightedseedtest_results         r@   test_resample_weightedr  2  s    88JDJJ{+MMOc
M*!**Q-	
 df	
 	+!**Q- df	
 & JJ}-Mjj1O8K66/Q&''' $$$rB   c                     t         j                  j                  d      } d}d}| j                  |df      }| j	                  d||      }t        ||ddd       \  }}t        j                  |dk(        sJ t        ||dd|      \  }}t        j                  |dk(        rJ t        j                  |      dk(  sJ y )	Nr   r	  g?r    sizer&   r  r
  stratifyr   )rx   r   r   normalbinomialr	   r  sum)r   r  pr   y_y_not_stratifiedy_stratifieds           r@   test_resample_stratifiedr$  Z  s    
))


"CIA

A
'AQ	*A"1a2APTUA66"a'(((q!rANOA|vvla'(((66,1$$$rB   c                      t         j                  j                  d      } d}| j                  |df      }| j	                  dd|      }t        ||dd| |      \  }}t        ||d	d| |      \  }}t        j                  |      j                  d   dk  sJ t        j                  |      j                  d   dk(  sJ t        ||dd
| |      \  }}|j                  d   d
k(  sJ t        j                  |      j                  d   dk(  sJ y )Nr   r	  r    r  r!   T2   )r  r  r
  r  Fi  )rx   r   r   r  randintr	   uniquer   )r   r  r   r   	X_replacer!  X_no_replaces          r@    test_resample_stratified_replacer+  j  s   
))


"CI

A
'AAqy)A	1dbsQLIq 	1eraOL! 99Y%%a(2---99\"((+r111 	1ddqLIq ??1%%%99Y%%a(C///rB   c                      t         j                  j                  d      } d}| j                  |df      }| j	                  dd|df      }t        ||d| |      \  }}|j                  dk(  sJ y )Nr   r	  r    r  r!   r&  r  )rx   r   r   r  r'  r	   ndim)r   r  r   r   s       r@   test_resample_stratify_2dyr.    sm    
))


"CI

A
'AAq	1~.AAqBS1EDAq66Q;;rB   c                     t        j                  t        d      5  t        ddgddgddgd       d d d        t        j                  t        d      5  t        ddgddgddgddg       d d d        y # 1 sw Y   ExY w# 1 sw Y   y xY w)	NzCResampling with sample_weight is only implemented for replace=True.rX   r   r    F)r  r  zCResampling with sample_weight is only implemented for stratify=None)r  r  )r1   r[   r   r	   r]   rB   r@   test_notimplementederrorr0    s    	S
 	!Q!Q1vuE	
 
S
 	!Q!Q1vAG	
 

 

 
s   A6B6A?Bcsr_containerc                 L   t         j                  j                  d      }d}|j                  |df      }|j	                  dd|      } | |j                  dd            }t        j                  t        d      5  t        ||d	||
      \  }}d d d        y # 1 sw Y   y xY w)Nr   r	  r!   r  rt   r    zSparse data was passedrX   r&  r  )
rx   r   r   r  r'  rz   r1   r[   ra   r	   )r1  r   r  r   r   r  s         r@   #test_resample_stratify_sparse_errorr3    s     ))


"CI

A
'AAqy)AQYYr1-.H	y(@	A1xP1 
B	A	As   =BB#c                      d } t        j                  ddgddggddgdd	ggg      }t         | |            }t        |       t         | |            |k(  sJ y )
Nc                 &    t        d | D              S )Nc              3   @   K   | ]  }t        d  |D                yw)c              3   2   K   | ]  }t        |        y wrT   r   ).0Cs     r@   	<genexpr>zPtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>.<genexpr>  s     /Q58Qs   Nr8  )r9  Bs     r@   r;  zFtest_shuffle_on_ndim_equals_three.<locals>.to_tuple.<locals>.<genexpr>  s     ;AU/Q//s   r8  )As    r@   to_tuplez3test_shuffle_on_ndim_equals_three.<locals>.to_tuple  s    ;;;;rB   r    r!   r   r"   r#   r$   r   r%   )rx   r   setr
   )r>  r=  Ss      r@   !test_shuffle_on_ndim_equals_threerA    sb    < 	Aq6Aq6"aVaV$456AHQKAAJx{q   rB   csc_containerc           	         g d}t        j                  g dt              }g d}t        t        j                  ddgddgdd	ggt                    } | t        j                  d
      j                  dd	            }t        |||||d      \  }}}}	}
|g dk(  sJ t        |      t        k(  sJ t        |g d       |j                  t        k(  sJ |g dk(  sJ t        |      t        k(  sJ t        |	t        j                  dd	gddgddggt                     t        |	      t        k(  sJ t        |
j                         t        j                  ddgd	dgddgg             y )Nr'   rK   rg   r(   r   r)   r    r*   r!   r$   r   )r
  )r*   r)   r(   )r   r!   r    r"   r#   )rx   r   objectr   ry   rz   r
   typer   r   rL   toarray)rB  r(   r)   r*   dea_sb_sc_sd_se_ss              r@   "test_shuffle_dont_convert_to_arrayrN    sF    	A
/AAbhha3(S!H=VLMAbiil**1a01A%aAq!!DCc3/!!!9sO,99)9sBHHsAha3(%C6RS9%%%s{{}bhhAAA/G&HIrB   )Xr   r   unittestr   numpyrx   r1   narwhals.exceptionsr   scipy.statsr   rh   $sklearn.externals._packaging.versionr   r   sklearn.utilsr   r	   r
   sklearn.utils._array_apir   r{   r   r   sklearn.utils._indexingr   r   r   sklearn.utils._mockingr   sklearn.utils._testingr   r   r   r   r   r   sklearn.utils.fixesr   r   ry   rz   r   rA   markparametrizebool_rb   r   int32int64uint8rD  rU   r^   rc   rr   rj   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r$  r+  r.  r0  r3  rA  rN  r]   rB   r@   <module>r`     s        .   G ; ; 
 1  ? 			!V$)B 	$ 	E	%  	tT	D!	q!e	)288	,e4	)288	,e4	)288	,e4
	4-	 &)	$e,,	w	&	-	.6	-V	<eD-6-76-!
@
 ).-/7	 )
7* ).-/ 	
	
A!Qa!

/0 !Q(U )	 )$U" L )VW	 X	 O )VWQ XQ D )VWaVgw-?$@A
 B X

4 *T5M:,tUm<D '8)<=a)Y!7811v1vPQSTv>V:WXY > = ;Y O )MNQ OQ D )MN)Y	 11v1v1v&>"?@	 O &
9
9 O &	 QL1= 2	=, 'BC. D.) $+1 ,1
 J66*/2 QAaXRXXq!f=M$NO+ P+ 'DEL FLB 1	
 
:;
'
' 	VHvh 0662BVVDTU$$ J 9 9F3%%P% 02H .9Q :Q! .9J :JrB   