Ë
    ÷Q(h#v ã                   óž  — d Z ddlZddlZddlZddlmZ ddlZddlZddl	Z	ddl
mZ ddl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 ddlmZ ddlmZmZ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, ddl-m.Z.m/Z/  G d„ dee«      Z0 G d„ de«      Z1 G d„ de«      Z2 G d„ de«      Z3 G d„ de«      Z4d„ Z5d„ Z6e	jn                  jq                  dddg«      d „ «       Z9e	jn                  jq                  d!d"d#gd!d$g¬%«      e	jn                  jq                  d&g  ejt                  d#d#g«      d#d#ggg d'¢¬%«      e	jn                  jq                  d(d#d"g«      d)„ «       «       «       Z;d*„ Z<d+„ Z=e	jn                  jq                  d,e.«      d-„ «       Z>d.„ Z?e	jn                  jq                  d,e.«      d/„ «       Z@d0„ ZAd1„ ZBd2„ ZCd3„ ZDd4„ ZEe	jn                  jq                  d5d6d7g«      d8„ «       ZFd9„ ZGd:„ ZHd;„ ZId<„ ZJd=„ ZKd>„ ZLd?„ ZMd@„ ZNdA„ ZOdB„ ZPdC„ ZQe	jn                  jq                  dDdgg dE¢fdgdFgfdG„ dH„ fg«      e	jn                  jq                  dId#d"g«      dJ„ «       «       ZRe	jn                  jq                  dKd"dLgdMgdNgfd#dLgdMgdOgfd"g dP¢g dE¢dNgfd#g dP¢g dE¢g dQ¢fg«      dR„ «       ZSdS„ ZTe	jn                  jq                  dTdgdFgf ejt                  dg«      dFgf eUddF«      dFgf ejt                  d"d#g«      d#d"gfg«      dU„ «       ZVe	jn                  jq                  dTdgdFgf eUddF«      dFgf ejt                  d"d#g«      d#d"gfdVgdWgfdXdWgf ejt                  dVg«      dWgf ejt                  dVgeW¬Y«      dWgf eUddV«      dWgf eUdVdV«      dWgfg	«      dZ„ «       ZXe	jn                  jq                  dTdgdFdNgf ejt                  dg«      dFdNgf eUddF«      dFdNgf ejt                  g dP¢«      g d[¢fg«      d\„ «       ZYd]„ ZZd^„ Z[e	jn                  jq                  d,e.«      d_„ «       Z\e	jn                  jq                  d,e.«      d`„ «       Z]da„ Z^db„ Z_e	jn                  jq                  dcddg ede e0«       dgfdf e0«       dFgfg e1«       ¬g«      dhf ede e0«       dgfdf e0«       dFgfgd7¬g«      dhf ede e0«       dgfdfd6dFgfgd7¬g«      dif ede e0«       dgfdfd7dFgfgd7¬g«      dhf ede e0«       dgfgd7¬g«      dif ede e0«       dgfdf e0«       dFgfgd6¬g«      djf ede e0«       dgfgd6¬g«      dkfg«      e	jn                  jq                  dldmdng«      do„ «       «       Z`dp„ Zadq„ Zbdr„ Zcds„ Zde	jn                  jq                  dtejÊ                  ge.¢«      du„ «       Zfdv„ Zge	jn                  jq                  dwdxdygdejÐ                  dfdxdygddeWfdxdygdeiejgdfdzgdeWgdfdzgdeWdfdygdejdfdygd{ejÐ                  gdfdxgdeigdfdxgd|ejÐ                  gdfdydzgd}ddfdzgd~deigfg dejdfg d€¢dejÐ                  eWgdfg«      d�„ «       Zkd‚„ Zldƒ„ Zmd„„ Zne	jn                  jq                  d…g  ejt                  g ei¬Y«      d†„ gg d‡¢¬%«      dˆ„ «       Zoe	jn                  jq                  d‰dFgdŠ„ d‹gdŒ„ d#d"gd�„ g«      dŽ„ «       Zpe	jn                  jq                  d‰dFgd�„ d#d"gd�„ g«      d‘„ «       Zqe	jn                  jq                  d5d7 e!«       g«      d’„ «       Zrd“„ Zse	jn                  jq                  d5d7 e!«       g«      d”„ «       Zte	jn                  jq                  d5d7 e!«       g«      d•„ «       Zue	jn                  jq                  d–g d—¢«      e	jn                  jq                  d5 e0«       d7d6g«      d˜„ «       «       Zvd™„ Zwdš„ Zx G d›„ dœe0«      Zye	jn                  jq                  d�dž ey«       dŸd gfd¡d7dŸgfgd7g d¢¢fdž ey«       dŸd gfd¡d7dŸgfgd6g d£¢fdž ey«       d¤gfd¡d6dŸgfgd7g d¥¢fdž eyd¦d§g«      g d¨¢fgd7g d©¢fdž eydªd¤g«      dŸgfd¡d7d¤gfgd6g d«¢fdž ey ezdN«      D � cg c]  } d¬| › �‘Œ	 c} «      d¤gfd¡ ey ezdN«      D � cg c]  } d¬| › �‘Œ	 c} «      d¤gfgd7g d­¢fdžd6dŸgfgd6g fdž ey«        eUdFd®«      fgd6d¯d°gfdž ey«       d¤gfd¡d6 eUd®d±«      fgd7g d¥¢fdž ey«       dŸd gfd¡d7 eUd®d±«      fgd7g d¢¢fdž ey«        eUd¤d «      fgd6d¯d°gfdž ey«       d¤gfd¡d6 eUd dŸ«      fgd7d¯d²gfdž ey«       dŸd gfd¡d7 eUd dŸ«      fgd7g d³¢fg«      d´„ «       Z{dµe|d¶e|fd·„Z}dµe|d¶e|fd¸„Z~e	jn                  jq                  d¹dž ey«       dŸd gfd¡d7dŸgfgd7e}g dº¢fdž ey«       dŸd gfd¡d7dŸgfgd6d»g d¼¢fdž ey«       dŸd gfd¡d7 eUd dŸ«      fgd7e~g d½¢fg«      d¾„ «       Ze	jn                  jq                  d�dž ey«       dŸd gfd¡d7dªgfgd7g d¿¢fdž eydªg«      dŸd gfd¡d7dŸgfgd6dªdŸgfdž ey«       d¤gfd¡d6dŸgfgd7g dÀ¢fdž eyd¦d§g«      g d¨¢fgd7g dÁ¢fdž eydªd g«      dŸgfd¡d7dŸgfgd6g dÂ¢fdž ey ezdN«      D � cg c]  } d¬| › �‘Œ	 c} «      d¤gfd¡ ey ezdN«      D � cg c]  } dÃ| › �‘Œ	 c} «      d¤gfgd7g dÄ¢fdžd6dŸgfgd6g fdž ey«        eUdFdN«      fd¡d6dŸgfgd7g dÀ¢fdž ey«       d¤gfd¡d6 eUd®d±«      fgd7g dÀ¢fdž ey«       dŸd gfd¡d7 eUddN«      fgd6g d¿¢fdž ey«        eUdªd¤«      fd¡d6dŸgfgd7g dÅ¢fdž ey«       d¤gfd¡d6 eUd dŸ«      fgd7d¤dªgfdž ey«       dŸd gfd¡d7 eUdªd¤«      fgd6g d¿¢fdž ey«       dŸd gfd¡d7 eUd¤d¤«      fgd6g dÆ¢fg«      dÇ„ «       Z€e	jn                  jq                  dÈdž ey«       d¤gfd¡d7d¤gfgd6dÉfdž eyd dŸg«      d gfd¡d7d gfgd6dÊfdž eydªg«      d¤gfd¡d7d¤gfgd7dËfdž eydªg«      d¤gfd¡d6d¤gfgd7dËfdž eyd d¤g«      d¤gfd¡d7d d¤gfgd6dÌfdž eydªg«      d¤gfd¡d7dªgfdÍ eydªg«      d¤gfgd7dËfdž eydªd¤g«      d¤gfd¡d7dªgfdÍ eyd¤g«      d gfgd7dÎfdž ey ezdÏ«      D � cg c]  } d¬| › �‘Œ	 c} «      d¤gfd¡ ey ezdÏ«      D � cg c]  } d¬| › �‘Œ	 c} «      d¤gfgd7dÐfdž eydªd¤g«       eUdFdN«      fd¡d7dªgfdÍ eyd¤g«      d gfgd7dÎfdž eydªd¤g«      d¤gfd¡d7 eUddF«      fdÍ eyd¤g«      d gfgd7dÎfdž eydªd¤g«       eUd¤d «      fd¡d7dªgfdÍ eyd¤g«      d gfgd7dÎfdž eydªd¤g«      d¤gfd¡d7 eUdªdª«      fdÍ eyd¤g«      d gfgd7dÎfg«      dÑ„ «       Z�e	jn                  jq                  dÒd"d#g«      e	jn                  jq                  d5d6d7g«      dÓ„ «       «       Z‚e	jn                  jq                  d5d6d7g«      e	jn                  jq                  dnd"d#g«      dÔ„ «       «       Zƒe	jn                  jq                  d5d6d7g«      dÕ„ «       Z„ G dÖ„ d×e«      Z…e	jn                  jq                  dØ e…dÙ¬Ú«      dÛdÜgdÝdÞgfd6dÛgdÝgfd7dÛdÜgdÝdÞgfg«      dß„ «       Z†e	jn                  jq                  dàg  ejt                  d#d#g«      d#d#ggg d'¢¬%«      dá„ «       Z‡dâ„ Zˆdã„ Z‰dä„ ZŠdå„ Z‹dæ„ ZŒe	jn                  jq                  dçdèd!g«      dé„ «       Z�e	jn                  jq                  dêd!dg«      dë„ «       ZŽe	jn                  jq                  dêd!dg«      dì„ «       Z�e	jn                  �j!                   e/e�j"                  «       e/dí«      k  dî¬ï«      dð„ «       Z’e	jn                  jq                  dlg dñ¢«      dò„ «       Z“e	jn                  jq                  dlg dñ¢«       ed"¬ó«      dô„ «       «       Z” ed"¬ó«      dõ„ «       Z•e	jn                  jq                  dlg dñ¢«       ed"¬ó«      dö„ «       «       Z– ed"¬ó«      d÷„ «       Z— ed"¬ó«      dø„ «       Z˜ ed"¬ó«      dù„ «       Z™yc c} w c c} w c c} w c c} w c c} w c c} w )úz
Test the ColumnTransformer.
é    N)ÚMock)Úassert_allclose)Úsparse)Úconfig_context)ÚBaseEstimatorÚTransformerMixin)ÚColumnTransformerÚmake_column_selectorÚmake_column_transformer)Ú_RemainderColsList)ÚNotFittedError)ÚVarianceThreshold)ÚFunctionTransformerÚ
NormalizerÚOneHotEncoderÚStandardScaler)ÚConsumingTransformerÚ	_RegistryÚcheck_recorded_metadata©Ú_safe_indexing)Ú_convert_containerÚassert_allclose_dense_sparseÚassert_almost_equalÚassert_array_equal)ÚCSR_CONTAINERSÚparse_versionc                   ó   — e Zd Zdd„Zdd„Zy)ÚTransNc                 ó   — | S ©N© ©ÚselfÚXÚys      úk/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sklearn/compose/tests/test_column_transformer.pyÚfitz	Trans.fit0   ó   € Øˆó    c                 óœ   — t        |d«      r|j                  «       S t        |dd«      dk(  rt        j                  |«      j
                  S |S )NÚto_frameÚndimé   é   )Úhasattrr,   ÚgetattrÚnpÚ
atleast_2dÚTr#   s      r'   Ú	transformzTrans.transform3   sC   € ä�1�jÔ!Ø—:‘:“<Ðä�1�f˜aÓ  AÒ%Ü—=‘= Ó#×%Ñ%Ð%Øˆr*   r!   ©Ú__name__Ú
__module__Ú__qualname__r(   r5   r"   r*   r'   r   r   /   s   „ óôr*   r   c                   ó   — e Zd Zdd„Zd„ Zy)ÚDoubleTransNc                 ó   — | S r!   r"   r#   s      r'   r(   zDoubleTrans.fit>   r)   r*   c                 ó   — d|z  S )Nr.   r"   ©r$   r%   s     r'   r5   zDoubleTrans.transformA   s   € Ø�1‰uˆr*   r!   r6   r"   r*   r'   r;   r;   =   s   „ óór*   r;   c                   ó"   — e Zd Zd„ Zdd„Zdd„Zy)ÚSparseMatrixTransc                 ó   — || _         y r!   )Úcsr_container)r$   rB   s     r'   Ú__init__zSparseMatrixTrans.__init__F   s
   € Ø*ˆÕr*   Nc                 ó   — | S r!   r"   r#   s      r'   r(   zSparseMatrixTrans.fitI   r)   r*   c                 ób   — t        |«      }| j                  t        j                  ||«      «      S r!   )ÚlenrB   r   Úeye)r$   r%   r&   Ú	n_sampless       r'   r5   zSparseMatrixTrans.transformL   s'   € Ü˜“Fˆ	Ø×!Ñ!¤&§*¡*¨Y¸	Ó"BÓCÐCr*   r!   ©r7   r8   r9   rC   r(   r5   r"   r*   r'   r@   r@   E   s   „ ò+óôDr*   r@   c                   ó   — e Zd Zdd„Zdd„Zy)Ú	TransNo2DNc                 ó   — | S r!   r"   r#   s      r'   r(   zTransNo2D.fitR   r)   r*   c                 ó   — |S r!   r"   r#   s      r'   r5   zTransNo2D.transformU   s   € Øˆr*   r!   r6   r"   r*   r'   rK   rK   Q   s   „ óôr*   rK   c                   ó   — e Zd Zdd„Zdd„Zy)Ú
TransRaiseNc                 ó   — t        d«      ‚©Núspecific message©Ú
ValueErrorr#   s      r'   r(   zTransRaise.fitZ   ó   € ÜÐ+Ó,Ð,r*   c                 ó   — t        d«      ‚rQ   rS   r#   s      r'   r5   zTransRaise.transform]   rU   r*   r!   r6   r"   r*   r'   rO   rO   Y   s   „ ó-ô-r*   rO   c                  óÖ  ‡
— t        j                  g d¢g d¢g«      j                  } t        j                  g d¢«      }t        j                  g d¢«      }|j                  dd«      }| }d|fdg|fddg|ft        j                  ddg«      |ft	        dd«      |ft	        dd«      |ft        j                  ddg«      |fddg|ft        j                  ddg«      |fddg|fg
}|D ]Ä  \  Š
}t        d	t        «       ‰
fgd
¬«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        d	t        «       ˆ
fd„fgd
¬«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       ŒÆ t        dt        «       dgfdt        «       dgfg«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚dddœ}t        dt        «       dgfdt        «       dgfg|¬«      }	t        j                  |d   |z  |d   |z  g«      j                  }t        |	j                  | «      |«       t        |	j                  | «      j                  | «      |«       t        |	j                  «      dk(  sJ ‚t        d	t        «       ddgfgd	di¬«      }	t        |	j                  | «      d|z  «       t        |	j                  | «      j                  | «      d|z  «       t        |	j                  «      dk(  sJ ‚y )N©r   r/   r.   ©r.   é   é   éÿÿÿÿr/   r   r.   TFÚtransÚdrop©Ú	remainderc                 ó   •— ‰S r!   r"   )ÚxÚ	selections    €r'   ú<lambda>z)test_column_transformer.<locals>.<lambda>�   ó   ø€ ¨)€ r*   Útrans1Útrans2çš™™™™™¹?é
   ©rf   rg   ©Útransformer_weights)r2   Úarrayr4   ÚreshapeÚslicer	   r   r   Úfit_transformr(   r5   rF   Útransformers_Úvstack)ÚX_arrayÚX_res_first1DÚX_res_second1DÚX_res_firstÚ
X_res_bothÚcasesÚresÚctrl   Úbothrc   s             @r'   Útest_column_transformerr|   a   sH  ø€ Ü�h‰hš	¢9Ð-Ó.×0Ñ0€Gä—H‘HšYÓ'€MÜ—X‘XšiÓ(€NØ×'Ñ'¨¨AÓ.€KØ€Jð 
ˆKÐØ
ˆˆkÐà
ˆQˆ�ÐÜ	�‰�1�a�&Ó	˜:Ð&ä	ˆq�!‹�kÐ"Ü	ˆq�!‹�jÐ!ä	�‰�4˜�-Ó	  +Ð.Ø
�ˆ˜Ð$Ü	�‰�4˜�,Ó	 Ð,Ø
�ˆ�zÐ"ð€Eð"  ò 
D‰ˆ	�3Ü ¬%«'°9Ð =Ð>È&ÔQˆÜ˜2×+Ñ+¨GÓ4°cÔ:Ü˜2Ÿ6™6 '›?×4Ñ4°WÓ=¸sÔCô Ø”u“wÓ 3Ð4Ð5Àô
ˆô 	˜2×+Ñ+¨GÓ4°cÔ:Ü˜2Ÿ6™6 '›?×4Ñ4°WÓ=¸sÕCð
Dô 
˜X¤u£w°°Ð4°xÄÃÈ1È#Ð6NÐOÓ	P€BÜ�r×'Ñ'¨Ó0°*Ô=Ü�r—v‘v˜g“×0Ñ0°Ó9¸:ÔFÜˆr×ÑÓ  AÒ%Ð%Ð%ð &)°BÑ7ÐÜØ
”E“G˜a˜SÐ	! H¬e«g¸°sÐ#;Ð<Ø/ô€Dô �)‰)à Ñ)¨MÑ9Ø Ñ)¨NÑ:ð	
ó÷
 �að ô �t×)Ñ)¨'Ó2°CÔ8Ü�t—x‘x Ó(×2Ñ2°7Ó;¸SÔAÜˆt×!Ñ!Ó" aÒ'Ð'Ð'äØ
”5“7˜Q ˜FÐ	#Ð$¸7ÀC¸.ô€Dô �t×)Ñ)¨'Ó2°C¸*Ñ4DÔEÜ�t—x‘x Ó(×2Ñ2°7Ó;¸SÀ:Ñ=MÔNÜˆt×!Ñ!Ó" aÒ'Ð'Ñ'r*   c                  ó¨  — t        j                  g d¢g d¢g«      j                  } dt        «       dgfdt        «       dgfg}t	        |«      }t	        t        |«      «      }t        |j                  | «      |j                  | «      «       t        |j                  | «      j                  | «      |j                  | «      j                  | «      «       y )NrX   rY   rf   r   rg   r/   )
r2   rm   r4   r   r	   Útupler   rp   r(   r5   )rs   ÚtransformersÚct_with_listÚct_with_tuples       r'   Ú4test_column_transformer_tuple_transformers_parameterr‚   £   s³   € Ü�h‰hš	¢9Ð-Ó.×0Ñ0€Gàœu›w¨¨Ð,¨x¼»À1À#Ð.FÐG€Lä$ \Ó2€LÜ%¤e¨LÓ&9Ó:€MäØ×"Ñ" 7Ó+¨]×-HÑ-HÈÓ-Qôô Ø×Ñ˜Ó!×+Ñ+¨GÓ4Ø×Ñ˜'Ó"×,Ñ,¨WÓ5õr*   Úconstructor_nameÚ	dataframeÚpolarsc                 ó,  ‡‡— | dk(  rt        j                  d«      Šnt        j                  | «      Št        j                  g d¢g d¢g«      j                  }t        || ddg¬«      }t        j                  g d¢«      j                  dd	«      }|}dg|fddg|ft        dd«      |fd
g|fd
d	g|ft        j                  d
d	g«      |ft        d
d	«      |ft        d
d«      |ft        j                  ddg«      |fddg|fg
}| dk(  r/|j                  d
|fd|f‰j                  ddgddg¬«      |fg«       |D ]Ä  \  Š}t        dt        «       ‰fgd¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        dt        «       ˆfd„fgd¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       ŒÆ t        dt        «       dgfdt        «       dgfg«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t!        |j"                  «      dk(  sJ ‚|j"                  d   d
   dk7  sJ ‚t        dt        «       d
gfdt        «       d	gfg«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t!        |j"                  «      dk(  sJ ‚|j"                  d   d
   dk7  sJ ‚dddœ}t        dt        «       dgfdt        «       dgfg|¬«      }	t        j$                  |d   |d   z  |d   |d   z  g«      j                  }t        |	j                  |«      |«       t        |	j                  |«      j                  |«      |«       t!        |	j"                  «      dk(  sJ ‚|	j"                  d   d
   dk7  sJ ‚t        dt        «       ddgfgddi¬«      }	t        |	j                  |«      d|z  «       t        |	j                  |«      j                  |«      d|z  «       t!        |	j"                  «      d	k(  sJ ‚|	j"                  d   d
   dk7  sJ ‚t        dt        «       d
d	gfgddi¬«      }	t        |	j                  |«      d|z  «       t        |	j                  |«      j                  |«      d|z  «       t!        |	j"                  «      d	k(  sJ ‚|	j"                  d   d
   dk7  sJ ‚ G ˆfd„dt&        «      }
t        d |
‰j(                  ¬«      ddgfg«      }|j                  |«       | dk(  �rt        d |
‰j                  ¬«      dfgd¬«      }|j                  |«       |j+                  «       }d	d
g|_        t        dt        «       d
fgd¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t!        |j"                  «      dk(  sJ ‚|j"                  d   d
   dk(  sJ ‚|j"                  d   d	   dk(  sJ ‚t        |j"                  d   d   d	g«       y y )Nr„   ÚpandasrX   rY   ÚfirstÚsecond)Úcolumns_namer\   r/   r   r.   TF)Úindexr]   r^   r_   c                 ó   •— ‰S r!   r"   )r%   rc   s    €r'   rd   z3test_column_transformer_dataframe.<locals>.<lambda>ë   re   r*   rf   rg   r`   rh   ri   rj   rk   c                   ó(   •— e Zd Zd„ Zdd„Zdˆ fd„	Zy)ú6test_column_transformer_dataframe.<locals>.TransAssertc                 ó   — || _         y r!   ©Úexpected_type_transform)r$   r‘   s     r'   rC   z?test_column_transformer_dataframe.<locals>.TransAssert.__init__#  s
   € Ø+BˆDÕ(r*   Nc                 ó   — | S r!   r"   r#   s      r'   r(   z:test_column_transformer_dataframe.<locals>.TransAssert.fit&  ó   € ØˆKr*   c                 ó„   •— t        || j                  «      sJ ‚t        |‰j                  «      r|j                  «       }|S r!   )Ú
isinstancer‘   ÚSeriesr,   )r$   r%   r&   Údataframe_libs      €r'   r5   z@test_column_transformer_dataframe.<locals>.TransAssert.transform)  s9   ø€ Ü˜a ×!=Ñ!=Ô>Ð>Ð>Ü˜!˜]×1Ñ1Ô2Ø—J‘J“L�ØˆHr*   r!   rI   )r—   s   €r'   ÚTransAssertrŽ   "  s   ø„ ò	Có	ö	r*   r˜   r�   )ÚpytestÚimportorskipr2   rm   r4   r   rn   ro   Úextendr–   r	   r   r   rp   r(   r5   rF   rq   rr   r   Ú	DataFrameÚcopyÚcolumns)rƒ   rs   ÚX_dfrv   rw   rx   ry   rz   rl   r{   r˜   ÚX_df2r—   rc   s               @@r'   Ú!test_column_transformer_dataframer¡   ´   sÂ  ù€ à˜;Ò&Ü×+Ñ+¨HÓ5‰ä×+Ñ+Ð,<Ó=ˆä�h‰hš	¢9Ð-Ó.×0Ñ0€GÜØÐ!°¸(Ð0Cô€Dô —(‘(š9Ó%×-Ñ-¨b°!Ó4€KØ€Jð
 ˆ�KÐ Ø
�8Ð	˜jÐ)ä	ˆw˜Ó	! :Ð.ð ˆˆkÐØ
ˆQˆ�ÐÜ	�‰�1�a�&Ó	˜:Ð&ä	ˆq�!‹�kÐ"Ü	ˆq�!‹�jÐ!ä	�‰�4˜�-Ó	  +Ð.Ø
�ˆ˜Ð$ð#€Eð& ˜;Ò&à�‰ð �KÐ Ø˜+Ð&à!×(Ñ(¨$°¨¸wÈÐ>QÐ(ÓRØðð	ô
	
ð  ò 
>‰ˆ	�3Ü ¬%«'°9Ð =Ð>È&ÔQˆÜ˜2×+Ñ+¨DÓ1°3Ô7Ü˜2Ÿ6™6 $›<×1Ñ1°$Ó7¸Ô=ô Ø”u“wÓ 3Ð4Ð5Àô
ˆô 	˜2×+Ñ+¨DÓ1°3Ô7Ü˜2Ÿ6™6 $›<×1Ñ1°$Ó7¸Õ=ð
>ô 
Ø
”E“G˜g˜YÐ	'¨(´E³G¸h¸ZÐ)HÐIó
€Bô �r×'Ñ'¨Ó-¨zÔ:Ü�r—v‘v˜d“|×-Ñ-¨dÓ3°ZÔ@Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1ä	˜X¤u£w°°Ð4°xÄÃÈ1È#Ð6NÐOÓ	P€BÜ�r×'Ñ'¨Ó-¨zÔ:Ü�r—v‘v˜d“|×-Ñ-¨dÓ3°ZÔ@Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1ð &)°BÑ7ÐÜØ
”E“G˜g˜YÐ	'¨(´E³G¸h¸ZÐ)HÐIØ/ô€Dô �)‰)à Ñ)¨D°©MÑ9Ø Ñ)¨D°©NÑ:ð	
ó÷
 �að ô �t×)Ñ)¨$Ó/°Ô5Ü�t—x‘x “~×/Ñ/°Ó5°sÔ;Üˆt×!Ñ!Ó" aÒ'Ð'Ð'Ø×Ñ˜bÑ! !Ñ$¨Ò3Ð3Ð3ô Ø
”5“7˜W hÐ/Ð	0Ð1ÈÐQTÀ~ô€Dô �t×)Ñ)¨$Ó/°°zÑ1AÔBÜ�t—x‘x “~×/Ñ/°Ó5°s¸ZÑ7GÔHÜˆt×!Ñ!Ó" aÒ'Ð'Ð'Ø×Ñ˜bÑ! !Ñ$¨Ò3Ð3Ð3äØ
”5“7˜Q ˜FÐ	#Ð$¸7ÀC¸.ô€Dô �t×)Ñ)¨$Ó/°°zÑ1AÔBÜ�t—x‘x “~×/Ñ/°Ó5°s¸ZÑ7GÔHÜˆt×!Ñ!Ó" aÒ'Ð'Ð'Ø×Ñ˜bÑ! !Ñ$¨Ò3Ð3Ð3ö”mô ô 
ð Ù°M×4KÑ4KÔLØ˜(Ð#ðð	
ó
€Bð ×Ñ�TÔà˜;Ó&ô ð Ù¸×8LÑ8LÔMØððð ô	
ˆð 	×Ñ˜Ôð
 —	‘	“ˆØ˜A˜ˆŒÜ ¬%«'°1Ð 5Ð6À&ÔIˆÜ˜2×+Ñ+¨EÓ2°KÔ@Ü˜2Ÿ6™6 %›=×2Ñ2°5Ó9¸;ÔGä�2×#Ñ#Ó$¨Ò)Ð)Ð)Ø×Ñ Ñ# AÑ&¨+Ò5Ð5Ð5Ø×Ñ Ñ# AÑ&¨&Ò0Ð0Ð0Ü˜2×+Ñ+¨BÑ/°Ñ2°Q°CÕ8ð7 'r*   r‡   TFÚnumpy)ÚidsÚcolumn_selection)ÚlistÚboolÚbool_intÚcallable_columnc                 óö  ‡— t        j                  g d¢g d¢g«      j                  }|}| r+t        j                  d«      }|j                  |ddg¬«      }n|}|rˆfd„}n‰}t        dt        «       d	d
gfdt        «       |fg«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                  «      dk(  sJ ‚t        |j                  d
   d
   t        «      sJ ‚t        dt        «       |fdt        «       d	d
gfg«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                  «      dk(  sJ ‚t        |j                  d	   d
   t        «      sJ ‚t        dt        «       |fgd¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                  «      dk(  sJ ‚t        |j                  d	   d
   t        «      sJ ‚t        j                  g g g g«      }	t        dt        «       |fgd¬«      }t        |j                  |«      |	«       t        |j                  |«      j                  |«      |	«       t        |j                  «      dk(  sJ ‚t        |j                  d	   d
   t        «      sJ ‚y )NrX   rY   r‡   rˆ   r‰   ©rž   c                 ó   •— ‰S r!   r"   )r%   r¤   s    €r'   rd   z7test_column_transformer_empty_columns.<locals>.<lambda>l  s   ø€ Ð+€ r*   rf   r   r/   rg   r.   r]   Úpassthroughr_   r^   )r2   rm   r4   r™   rš   rœ   r	   r   rO   r   rp   r(   r5   rF   rq   r•   )
r‡   r¤   r¨   rs   rw   Úpdr%   Úcolumnrz   Úfixtures
    `        r'   Ú%test_column_transformer_empty_columnsr°   X  s£  ø€ ô �h‰hš	¢9Ð-Ó.×0Ñ0€GØ€JáÜ× Ñ  Ó*ˆØ�L‰L˜¨7°HÐ*=ˆLÓ>‰àˆáÛ+‰à!ˆä	Ø
”E“G˜a ˜VÐ	$ x´³¸vÐ&FÐGó
€Bô �r×'Ñ'¨Ó*¨JÔ7Ü�r—v‘v˜a“y×*Ñ*¨1Ó-¨zÔ:Üˆr×ÑÓ  AÒ%Ð%Ð%Ü�b×&Ñ& qÑ)¨!Ñ,¬jÔ9Ð9Ð9ä	Ø
”J“L &Ð	)¨H´e³gÀÀ1¸vÐ+FÐGó
€Bô �r×'Ñ'¨Ó*¨JÔ7Ü�r—v‘v˜a“y×*Ñ*¨1Ó-¨zÔ:Üˆr×ÑÓ  AÒ%Ð%Ð%Ü�b×&Ñ& qÑ)¨!Ñ,¬jÔ9Ð9Ð9ä	˜W¤j£l°FÐ;Ð<ÈÔ	V€BÜ�r×'Ñ'¨Ó*¨JÔ7Ü�r—v‘v˜a“y×*Ñ*¨1Ó-¨zÔ:Üˆr×ÑÓ  AÒ%Ð%Ð%Ü�b×&Ñ& qÑ)¨!Ñ,¬jÔ9Ð9Ð9ä�h‰h˜˜B �|Ó$€GÜ	˜W¤j£l°FÐ;Ð<ÈÔ	O€BÜ�r×'Ñ'¨Ó*¨GÔ4Ü�r—v‘v˜a“y×*Ñ*¨1Ó-¨wÔ7Üˆr×ÑÓ  AÒ%Ð%Ð%Ü�b×&Ñ& qÑ)¨!Ñ,¬jÔ9Ð9Ñ9r*   c                  ó  — t        j                  d«      j                  dd«      } t        dt	        «       dgfdt	        «       dgfg«      }|j                  | «      }|j                  t        dd«      t        dd«      t        dd«      dœk(  sJ ‚t        |d d …dgf   |d d …|j                  d   f   «       t        |d d …dgf   |d d …|j                  d   f   «       t        d	t	        «       ddgfgd	d
i¬«      }|j                  | «      }|j                  t        dd«      t        dd«      dœk(  sJ ‚t        |d d …ddgf   |d d …|j                  d	   f   «       t        |d d …g f   |d d …|j                  d   f   «       t        dt	        «       ddgfdt        «       g fg«      }|j                  | «      }|j                  t        dd«      t        dd«      t        dd«      dœk(  sJ ‚t        |d d …ddgf   |d d …|j                  d   f   «       t        |d d …g f   |d d …|j                  d   f   «       t        |d d …g f   |d d …|j                  d   f   «       t        d	t        «       g fgd¬«      }|j                  | «      }|j                  t        dd«      t        dd«      dœk(  sJ ‚t        |d d …g f   |d d …|j                  d	   f   «       t        |d d …ddgf   |d d …|j                  d   f   «       y )Nr[   é   r.   rf   r   rg   r/   ©rf   rg   r`   r]   rh   rk   )r]   r`   r`   r¬   r_   )
r2   Úarangern   r	   r   rp   Úoutput_indices_ro   r   rO   )rs   rz   ÚX_transs      r'   Ú&test_column_transformer_output_indicesr·   Ž  s  € ä�i‰i˜‹l×"Ñ" 1 aÓ(€Gä	˜X¤u£w°°Ð4°xÄÃÈ1È#Ð6NÐOÓ	P€BØ×Ñ˜wÓ'€GØ×ÑÜ˜˜1“+Ü˜˜1“+Ü˜1˜a“[ñ"ò ð ð ô
 �wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQÜ�wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQô 
Ø
”5“7˜Q ˜FÐ	#Ð$¸7ÀC¸.ô
€Bð ×Ñ˜wÓ'€GØ×Ñ¬5°°A«;ÄUÈ1ÈaÃ[Ñ!QÒQÐQÐQÜ�wšq 1 a &˜yÑ)¨7²1°b×6HÑ6HÈÑ6QÐ3QÑ+RÔSÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀ[Ñ2QÐ/QÑ'RÔSô 
˜X¤u£w°°A°Ð7¸(ÄJÃLÐRTÐ9UÐVÓ	W€BØ×Ñ˜wÓ'€GØ×ÑÜ˜˜1“+Ü˜˜1“+Ü˜1˜a“[ñ"ò ð ð ô
 �wšq 1 a &˜yÑ)¨7²1°b×6HÑ6HÈÑ6RÐ3RÑ+SÔTÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀXÑ2NÐ/NÑ'OÔPÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀ[Ñ2QÐ/QÑ'RÔSä	˜W¤j£l°BÐ7Ð8ÀMÔ	R€BØ×Ñ˜wÓ'€GØ×Ñ¬5°°A«;ÄUÈ1ÈaÃ[Ñ!QÒQÐQÐQÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀWÑ2MÐ/MÑ'NÔOÜ�wšq 1 a &˜yÑ)¨7²1°b×6HÑ6HÈÑ6UÐ3UÑ+VÕWr*   c                  ó  — t        j                  d«      } | j                  t        j                  d«      j                  dd«      ddg¬«      }t        dt        «       dgfd	t        «       dgfg«      }|j                  |«      }|j                  t        d
d«      t        dd«      t        d
d
«      dœk(  sJ ‚t        |d d …d
gf   |d d …|j                  d   f   «       t        |d d …dgf   |d d …|j                  d	   f   «       t        |d d …g f   |d d …|j                  d   f   «       t        dt        «       d
gfd	t        «       dgfg«      }|j                  |«      }|j                  t        d
d«      t        dd«      t        d
d
«      dœk(  sJ ‚t        |d d …d
gf   |d d …|j                  d   f   «       t        |d d …dgf   |d d …|j                  d	   f   «       t        |d d …g f   |d d …|j                  d   f   «       y )Nr‡   r[   r²   r.   rˆ   r‰   rª   rf   rg   r   r/   r³   r`   )r™   rš   rœ   r2   r´   rn   r	   r   rp   rµ   ro   r   )r­   rŸ   rz   r¶   s       r'   Ú)test_column_transformer_output_indices_dfr¹   ¹  s  € ä	×	Ñ	˜XÓ	&€Bà�<‰<œŸ	™	 !›×,Ñ,¨Q°Ó2¸WÀhÐ<Oˆ<ÓP€Dä	Ø
”E“G˜g˜YÐ	'¨(´E³G¸h¸ZÐ)HÐIó
€Bð ×Ñ˜tÓ$€GØ×ÑÜ˜˜1“+Ü˜˜1“+Ü˜1˜a“[ñ"ò ð ð ô
 �wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQÜ�wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀ[Ñ2QÐ/QÑ'RÔSä	˜X¤u£w°°Ð4°xÄÃÈ1È#Ð6NÐOÓ	P€BØ×Ñ˜tÓ$€GØ×ÑÜ˜˜1“+Ü˜˜1“+Ü˜1˜a“[ñ"ò ð ð ô
 �wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQÜ�wšq 1 #˜v‘¨²°2×3EÑ3EÀhÑ3OÐ0OÑ(PÔQÜ�wšq "˜u‘~ wªq°"×2DÑ2DÀ[Ñ2QÐ/QÑ'RÕSr*   rB   c                 óÚ  —  | t        j                  dd«      «      }|d d …dgf   }|}ddgt        dd«      fD ]—  }d|fd|ffD ]Š  \  }}t        dt	        «       |fg|d	¬
«      }t        j
                  |j                  |«      «      sJ ‚t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       ŒŒ Œ™ ddgt        dd«      fD ]†  }t        dt	        «       |fgd	¬«      }t        j
                  |j                  |«      «      sJ ‚t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       Œˆ y )Nr²   r.   r   )r   r/   r^   r¬   r]   çš™™™™™é?©r`   Úsparse_threshold©r½   )
r   rG   ro   r	   r   Úissparserp   r   r(   r5   )rB   ÚX_sparserv   rw   Úcolr`   ry   rz   s           r'   Ú$test_column_transformer_sparse_arrayrÂ   Ø  sl  € áœVŸZ™Z¨¨1Ó-Ó.€Hð š1˜q˜c˜6Ñ"€KØ€Jà�q�cœ5  A›;Ð'ò TˆØ &¨Ð4°}ÀjÐ6QÐRò 	T‰NˆI�sÜ"Øœ5›7 CÐ(Ð)°YÐQTôˆBô —?‘? 2×#3Ñ#3°HÓ#=Ô>Ð>Ð>Ü(¨×)9Ñ)9¸(Ó)CÀSÔIÜ(¨¯©°Ó)9×)CÑ)CÀHÓ)MÈsÕSñ	TðTð �A�œ˜a ›Ð$ò WˆÜ ¬%«'°3Ð 7Ð8È3ÔOˆÜ�‰˜r×/Ñ/°Ó9Ô:Ð:Ð:Ü$ R×%5Ñ%5°hÓ%?ÀÔLÜ$ R§V¡V¨HÓ%5×%?Ñ%?ÀÓ%IÈ:ÕVñ	Wr*   c                  óJ  — dt        d«      dgg d¢g} t        j                  dt        d«      ddgg d¢g«      }t        dt	        «       ddgfdt        «       d	gfg«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       y )
Nr/   ÚnanÚa)r   r   Úbr   )r\   r   r   r/   Ú	numericalÚcategoricalr.   )
Úfloatr2   rm   r	   r   r   r   rp   r(   r5   )ÚX_listÚexpected_resultrz   s      r'   Útest_column_transformer_listrÌ   ð  s¡   € Ø”%˜“, Ð$¢kÐ2€FÜ—h‘hà”�e“˜a Ð#Úð	
ó€Oô 
àœ.Ó*¨Q°¨FÐ3ØœM›O¨a¨SÐ1ð	
ó
€Bô �r×'Ñ'¨Ó/°ÔAÜ�r—v‘v˜f“~×/Ñ/°Ó7¸ÕIr*   c                 óà  — t        j                  g d¢g d¢g«      j                  }t        dt	        «       dgfdt        | «      dfgd¬«      }|j                  |«       |j                  |«      }t        j                  |«      sJ ‚|j                  |j                  d   |j                  d   dz   fk(  sJ ‚t        |j                  «       d d …dd …f   t        j                  |j                  d   «      «       t        |j                  «      d	k(  sJ ‚|j                  d
   d   dk7  sJ ‚t        dt	        «       dgfdt        | «      dfgd¬«      }|j                  |«       |j                  |«      }t        j                  |«      rJ ‚|j                  |j                  d   |j                  d   dz   fk(  sJ ‚t        |d d …dd …f   t        j                  |j                  d   «      «       y )NrX   rY   rf   r   rg   r/   r»   r¾   r.   r\   r`   rh   )r2   rm   r4   r	   r   r@   r(   r5   r   r¿   Úshaper   ÚtoarrayrG   rF   rq   )rB   rs   Ú	col_transr¶   s       r'   Ú'test_column_transformer_sparse_stackingrÑ     s¾  € ä�h‰hš	¢9Ð-Ó.×0Ñ0€GÜ!Ø
”E“G˜a˜SÐ	! HÔ.?ÀÓ.NÐPQÐ#RÐSØô€Ið ‡M�M�'ÔØ×!Ñ! 'Ó*€GÜ�?‰?˜7Ô#Ð#Ð#Ø�=‰=˜WŸ]™]¨1Ñ-¨w¯}©}¸QÑ/?À!Ñ/CÐDÒDÐDÐDÜ�w—‘Ó(ª¨A©B¨Ñ/´·±¸¿¹ÀaÑ8HÓ1IÔJÜˆy×&Ñ&Ó'¨1Ò,Ð,Ð,Ø×"Ñ" 2Ñ& qÑ)¨[Ò8Ð8Ð8ä!Ø
”E“G˜a˜SÐ	! HÔ.?ÀÓ.NÐPQÐ#RÐSØô€Ið ‡M�M�'ÔØ×!Ñ! 'Ó*€GÜ�‰˜wÔ'Ð'Ð'Ø�=‰=˜WŸ]™]¨1Ñ-¨w¯}©}¸QÑ/?À!Ñ/CÐDÒDÐDÐDÜ�wšq !¡"˜u‘~¤r§v¡v¨g¯m©m¸AÑ.>Ó'?Õ@r*   c                  óä  — t        j                  g d¢g d¢gd¬«      } t        t        «       dgfdddgfd	¬
«      }|j	                  | «      }|j                  «       dk(  sJ ‚t        |j                  «       t        j                  g d¢g d¢g«      «       t        t        «       dgfddgfd	¬
«      }t        j                  t        d¬«      5  |j	                  | «       d d d «       y # 1 sw Y   y xY w)N)rÅ   r/   T)rÆ   r.   FÚO©Údtyper   r¬   r/   r.   ç      ð?r¾   Úcsr)r/   r   r/   r/   )r   r/   r.   r   z'For a sparse output, all columns should©Úmatch)r2   rm   r   r   rp   Ú	getformatr   rÏ   r™   ÚraisesrT   )Údfrz   r¶   s      r'   Ú)test_column_transformer_mixed_cols_sparserÝ     sÙ   € Ü	�‰’>¢?Ð3¸3Ô	?€Bä	 Ü	‹˜1˜#Ð °°A°Ð 7È#ô
€Bð ×Ñ˜rÓ"€GØ×ÑÓ %Ò'Ð'Ð'Ü�w—‘Ó(¬"¯(©(²LÂ,Ð3OÓ*PÔQä	 Ü	‹˜1˜#Ð °°Ð 4Àsô
€Bô 
�‰”zÐ)RÔ	Sñ ð 	×Ñ˜Ô÷÷ ñ ús   ÃC&Ã&C/c                  ó„  — t        j                  ddgddggt        ¬«      j                  } t	        dt        «       dgfdt        «       d	gfgd
¬«      }|j                  | «      }t        j                  |«      rJ ‚|j                  rJ ‚dD ]c  }t	        dt        d¬«      dgfdt        d¬«      d	gfg|¬«      }|j                  | «      }t        j                  |«      sJ ‚|j                  rŒcJ ‚ dD ]c  }t	        dt        d¬«      dgfdt        d¬«      d	gfg|¬«      }|j                  | «      }t        j                  |«      rJ ‚|j                  sŒcJ ‚ dD ]c  }t	        dt        d¬«      dgfdt        d¬«      d	gfg|¬«      }|j                  | «      }t        j                  |«      rJ ‚|j                  sŒcJ ‚ y )NrÅ   rÆ   ÚAÚBrÔ   rf   r   rg   r/   çš™™™™™É?r¾   )gãˆµø è?r/   T)Úsparse_outputF)g      è?r   )g…ëQ¸Õ?r   r/   )
r2   rm   Úobjectr4   r	   r   rp   r   r¿   Úsparse_output_)rs   rÐ   ry   Úthress       r'   Ú(test_column_transformer_sparse_thresholdræ   4  só  € Ü�h‰h˜˜c˜
 S¨# JÐ/´vÔ>×@Ñ@€Gô "Ø
”M“O a SÐ	)¨H´m³oÈÀsÐ+KÐLØô€Ið ×
!Ñ
! 'Ó
*€CÜ�‰˜sÔ#Ð#Ð#Ø×'Ò'Ð'Ð'ð ò 
(ˆÜ%àœ=°tÔ<¸q¸cÐBØœ=°uÔ=À¸sÐCðð #ô
ˆ	ð ×%Ñ% gÓ.ˆÜ�‰˜sÔ#Ð#Ð#Ø×'Ó'Ð'Ð'ð
(ð ò 
,ˆÜ%àœ=°tÔ<¸q¸cÐBØœ=°uÔ=À¸sÐCðð #ô
ˆ	ð ×%Ñ% gÓ.ˆÜ—?‘? 3Ô'Ð'Ð'Ø×+Ó+Ð+Ð+ð
,ð ò 
,ˆÜ%àœ=°uÔ=À¸sÐCØœ=°uÔ=À¸sÐCðð #ô
ˆ	ð ×%Ñ% gÓ.ˆÜ—?‘? 3Ô'Ð'Ð'Ø×+Ó+Ð+Ð+ñ
,r*   c                  ó\  — t        j                  g d¢g d¢g«      j                  } t        dt	        «       dfg«      }d}t        j                  t        |¬«      5  |j                  | «       d d d «       t        j                  t        |¬«      5  |j                  | «       d d d «       t        dt        «       dfg«      }|j                  |j                  fD ].  }t        j                  t        d¬«      5   || «       d d d «       Œ0 y # 1 sw Y   ŒŸxY w# 1 sw Y   ŒvxY w# 1 sw Y   ŒSxY w)N©ç        rÖ   ç       @©rê   ç      @g      @r]   r   z1D data passed to a transformerrØ   rR   )r2   rm   r4   r	   r   r™   rÛ   rT   r(   rp   rO   )rs   rÐ   ÚmsgÚfuncs       r'   Ú$test_column_transformer_error_msg_1Drï   h  sÿ   € Ü�h‰hšªÐ9Ó:×<Ñ<€Gä! G¬^Ó-=¸qÐ#AÐ"BÓC€IØ
+€CÜ	�‰”z¨Ô	-ñ Ø�‰�gÔ÷ô 
�‰”z¨Ô	-ñ )Ø×Ñ Ô(÷)ô " G¬Z«\¸1Ð#=Ð">Ó?€IØ—‘ 	× 7Ñ 7Ð8ò ˆÜ�]‰]œ:Ð-?Ô@ñ 	Ù�ŒM÷	ð 	ñ÷ð ú÷)ð )ú÷
	ð 	ús$   ÁD
ÂDÃ6	D"Ä
DÄDÄ"D+	c                  ó†  — t        j                  g d¢g d¢g«      j                  } t        ddt	        «       dfg«      }d}t        j                  t        |¬«      5  |j                  | «       d d d «       t        j                  t        |¬«      5  |j                  | «       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)NrX   rY   )rf   r^   r   rg   r/   z%the 'trans2' transformer should be 2DrØ   )
r2   rm   r4   r	   rK   r™   rÛ   rT   rp   r(   ©rs   rz   rí   s      r'   Útest_2D_transformer_outputrò   y  s¡   € Ü�h‰hš	¢9Ð-Ó.×0Ñ0€Gô 
Ð1°H¼i»kÈ1Ð3MÐNÓ	O€Bà
1€CÜ	�‰”z¨Ô	-ñ "Ø
×Ñ˜Ô!÷"ô 
�‰”z¨Ô	-ñ Ø
�‰ˆwŒ÷ð ÷"ð "ú÷ð ús   ÁB+ÂB7Â+B4Â7C c                  óØ  — t        j                  d«      } t        j                  g d¢g d¢g«      j                  }| j                  |ddg¬«      }t        dt        «       dfg«      }d}t        j                  t        |¬	«      5  |j                  |«       d d d «       t        j                  t        |¬	«      5  |j                  |«       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)
Nr‡   rX   rY   Úcol1Úcol2rª   rf   z%the 'trans1' transformer should be 2DrØ   )r™   rš   r2   rm   r4   rœ   r	   rK   rÛ   rT   rp   r(   )r­   rs   rŸ   rz   rí   s        r'   Ú!test_2D_transformer_output_pandasrö   ‡  sÅ   € Ü	×	Ñ	˜XÓ	&€Bä�h‰hš	¢9Ð-Ó.×0Ñ0€GØ�<‰<˜¨&°&Ð)9ˆ<Ó:€Dô 
˜X¤y£{°FÐ;Ð<Ó	=€BØ
1€CÜ	�‰”z¨Ô	-ñ Ø
×Ñ˜Ô÷ô 
�‰”z¨Ô	-ñ Ø
�‰ˆtŒ÷ð ÷ð ú÷ð ús   ÂCÂ9C ÃCÃ C)r`   r^   r¬   c                 ó8  — t        j                  g d¢g d¢g«      j                  }dddgt        dd«      t        j                  dg«      fD ]P  }t	        dt        «       |fg| ¬	«      }t        j                  t        d
¬«      5  |j                  |«       d d d «       ŒR dddgt        dd«      fD ]P  }t	        dt        «       |fg| ¬	«      }t        j                  t        d¬«      5  |j                  |«       d d d «       ŒR ddg}t	        dt        «       |fg| ¬	«      }|j                  |«       t        j                  g d¢g d¢g d¢g«      j                  }d}t        j                  t        |¬«      5  |j                  |«       d d d «       t        j                  g d¢g«      j                  }d}t        j                  t        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   �Œ¨xY w# 1 sw Y   �ŒQxY w# 1 sw Y   Œ}xY w# 1 sw Y   y xY w)NrX   rY   ç      ø?Ústringr/   ÚsrÖ   r]   r_   zNo valid specificationrØ   ÚotherrÅ   rÆ   úSpecifying the columnsr   ©r²   r[   é	   zIX has 3 features, but ColumnTransformer is expecting 2 features as input.zIX has 1 features, but ColumnTransformer is expecting 2 features as input.)r2   rm   r4   ro   r	   r   r™   rÛ   rT   r(   r5   )r`   rs   rÁ   rz   ÚX_array_morerí   ÚX_array_fewerÚerr_msgs           r'   Ú'test_column_transformer_invalid_columnsr  —  sâ  € ä�h‰hš	¢9Ð-Ó.×0Ñ0€Gð �h �]¤E¨!¨S£M´2·8±8¸S¸E³?ÐCò ˆÜ ¬%«'°3Ð 7Ð8ÀIÔNˆÜ�]‰]œ:Ð-EÔFñ 	Ø�F‰F�7ŒO÷	ð 	ðð ˜8 WÐ-¬u°S¸#«Ð?ò ˆÜ ¬%«'°3Ð 7Ð8ÀIÔNˆÜ�]‰]œ:Ð-EÔFñ 	Ø�F‰F�7ŒO÷	ð 	ðð ˆaˆ&€CÜ	˜W¤e£g¨sÐ3Ð4À	Ô	J€BØ‡F�Fˆ7„OÜ—8‘8šYª	²9Ð=Ó>×@Ñ@€LØ
U€CÜ	�‰”z¨Ô	-ñ #Ø
�‰�\Ô"÷#ä—H‘Hâð	
ó÷ �að	 ð 	Tð ô 
�‰”z¨Ô	1ñ $Ø
�‰�]Ô#÷$ð $÷3	ñ 	ú÷	ñ 	ú÷#ð #ú÷$ð $ús0   ÂG*Ã'G7Å6HÇHÇ*G4	Ç7H	ÈHÈHc                  ó  —  G d„ dt         «      } t        j                  g d¢g d¢g«      j                  }t	        d | «       dgfg«      }d}t        j                  t        |¬«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)	Nc                   ó   — e Zd Zdd„Zd„ Zy)ú<test_column_transformer_invalid_transformer.<locals>.NoTransNc                 ó   — | S r!   r"   r#   s      r'   r(   z@test_column_transformer_invalid_transformer.<locals>.NoTrans.fit½  r“   r*   c                 ó   — |S r!   r"   r>   s     r'   ÚpredictzDtest_column_transformer_invalid_transformer.<locals>.NoTrans.predictÀ  s   € ØˆHr*   r!   )r7   r8   r9   r(   r  r"   r*   r'   ÚNoTransr  ¼  s   „ ó	ó	r*   r	  rX   rY   r]   r   z1All estimators should implement fit and transformrØ   )	r   r2   rm   r4   r	   r™   rÛ   Ú	TypeErrorr(   )r	  rs   rz   rí   s       r'   Ú+test_column_transformer_invalid_transformerr  »  st   € ô”-ô ô �h‰hš	¢9Ð-Ó.×0Ñ0€GÜ	˜W¡g£i°!°Ð5Ð6Ó	7€BØ
=€CÜ	�‰”y¨Ô	,ñ Ø
�‰ˆwŒ÷÷ ñ ús   Á'BÂBc                  ó®   — t        «       } t        «       }t        | df|dgf«      }t        |j                  Ž \  }}}|dk(  sJ ‚|| |fk(  sJ ‚|ddgfk(  sJ ‚y )Nrˆ   r‰   )ÚstandardscalerÚ
normalizer)r   r   r   Úzipr   )ÚscalerÚnormrz   Únamesr   rž   s         r'   Útest_make_column_transformerr  Ê  st   € ÜÓ€FÜ‹<€DÜ	  &¨'Ð!2°T¸H¸:Ð4FÓ	G€BÜ#&¨¯©Ð#8Ñ €Eˆ<˜ØÐ4Ò4Ð4Ð4Ø˜F D˜>Ò)Ð)Ð)Ø�w  
Ð+Ò+Ð+Ñ+r*   c                  óz  — t        j                  d«      } t        j                  g d¢g d¢g«      j                  }| j                  |ddg¬«      }t        «       }t        dt        «       |j                  fg«      }t        ||j                  f«      }t        |j                  |«      |j                  |«      «       y )Nr‡   rX   rY   rˆ   r‰   rª   r  )r™   rš   r2   rm   r4   rœ   r   r	   rž   r   r   rp   )r­   rs   rŸ   r  Úct1Úct2s         r'   Ú#test_make_column_transformer_pandasr  Ô  s–   € Ü	×	Ñ	˜XÓ	&€BÜ�h‰hš	¢9Ð-Ó.×0Ñ0€GØ�<‰<˜¨'°8Ð)<ˆ<Ó=€DÜ‹<€DÜ
˜f¤j£l°D·L±LÐAÐBÓ
C€CÜ
! 4¨¯©Ð"6Ó
7€CÜ˜×)Ñ)¨$Ó/°×1BÑ1BÀ4Ó1HÕIr*   c                  óÆ  — t        «       } t        «       }t        | df|dgfddd¬«      }|j                  t        | df|dgf«      j                  k(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  dk(  sJ ‚t        j                  d«      }t        j                  t        |¬«      5  t        | df|dgfd	d
dœ¬«       d d d «       y # 1 sw Y   y xY w)Nrˆ   r‰   r²   r^   g      à?)Ún_jobsr`   r½   zRmake_column_transformer() got an unexpected keyword argument 'transformer_weights'rØ   ri   r/   )ÚpcaÚTransfrk   )r   r   r   r   r  r`   r½   ÚreÚescaper™   rÛ   r
  )r  r  rz   rí   s       r'   Ú#test_make_column_transformer_kwargsr  Þ  sþ   € ÜÓ€FÜ‹<€DÜ	 Ø	�ÐØ	�ˆzÐØØØô
€Bð 	�‰Ü" F¨GÐ#4°t¸h¸ZÐ6HÓI×VÑVò	Wðð	Wð �9‰9˜Š>Ðˆ>Ø�<‰<˜6Ò!Ð!Ð!Ø×Ñ #Ò%Ð%Ð%ä
�)‰)ð	1ó€Cô 
�‰”y¨Ô	,ñ 
ÜØ�WÐØ�H�:ÐØ(*°aÑ 8õ	
÷
÷ 
ñ 
ús   Â7CÃC c                  óˆ   — t        «       } t        «       }t        «       }t        | df|dgf|¬«      }|j                  |k(  sJ ‚y )Nrˆ   r‰   r_   )r   r   r   r`   )r  r  r`   rz   s       r'   Ú2test_make_column_transformer_remainder_transformerr   ü  sJ   € ÜÓ€FÜ‹<€DÜÓ €IÜ	 Ø	�Ð˜D 8 *Ð-¸ô
€Bð �<‰<˜9Ò$Ð$Ñ$r*   c                  ó   — t        dt        «       dgfdt        «       dgfg«      } i dd “dd“dd	“d| j                  d   d   “d
d“dd“dd“d| j                  d   d   “dd“dd“dd“d| j                  “dd “dd“dd“dd“}| j                  «       |k(  sJ ‚| j	                  d¬«       | j                  «       d   rJ ‚| j	                  d¬«       d dd	d| j                  d   d   ddd| j                  d ddddœ}| j                  «       |k(  sJ ‚y )Nrf   r   rg   r/   r  r`   r^   r½   ç333333Ó?Útrans1__copyTÚtrans1__with_meanÚtrans1__with_stdÚtrans2__copyÚtrans2__with_meanÚtrans2__with_stdr   rl   Úverbose_feature_names_outÚverboseFÚforce_int_remainder_cols)r$  r¬   ©rf   )r  r`   r½   rf   rg   r&  r'  r(  r   rl   r)  r*  r+  )r	   r   r   Ú
get_paramsÚ
set_params©rz   Úexps     r'   Ú&test_column_transformer_get_set_paramsr1    s¬  € Ü	Ø
”NÓ$ q cÐ	*¨X´~Ó7GÈ!ÈÐ,MÐNó
€BðØ�$ðà�Vðð 	˜Cðð 	�"—/‘/ !Ñ$ QÑ'ð	ð
 	˜ðð 	˜Tðð 	˜Dðð 	�"—/‘/ !Ñ$ QÑ'ðð 	˜ðð 	˜Tðð 	˜Dðð 	˜Ÿ™ðð 	˜tðð 	$ Tðð 	�5ðð  	# Dð!€Cð& �=‰=‹?˜cÒ!Ð!Ð!à‡M�M E€MÔ*Ø�}‰}‹Ð2Ò3Ð3Ð3à‡M�M˜€MÔ'àØØØØ—/‘/ !Ñ$ QÑ'ØØ!Ø ØŸ™Ø#Ø%)ØØ$(ñ€Cð  �=‰=‹?˜cÒ!Ð!Ñ!r*   c                  ó˜  — t        j                  g d¢g d¢g«      j                  } t        dt	        «       dgfdt	        d¬«      dgfg«      }t        |d	«      rJ ‚|j                  | «       t        |d	«      sJ ‚t        |j                  d   t        «      sJ ‚t        |j                  j                  t        «      sJ ‚t        |j                  d   t        «      sJ ‚t        |j                  j                  t        «      sJ ‚|j                  j                  j                  rJ ‚|j                  j                  j                  d
k(  sJ ‚y )Nrè   rë   rf   r   rg   F)Úwith_stdr/   rq   rÖ   )r2   rm   r4   r	   r   r0   r(   r•   Únamed_transformers_rf   rg   r3  Úmean_©rs   rz   s     r'   Ú(test_column_transformer_named_estimatorsr7  7  s   € Ü�h‰hšªÐ9Ó:×<Ñ<€GÜ	à”~Ó'¨!¨Ð-Ø”~¨uÔ5¸°sÐ;ð	
ó
€Bô �r˜?Ô+Ð+Ð+Ø‡F�Fˆ7„OÜ�2�Ô'Ð'Ð'Ü�b×,Ñ,¨XÑ6¼ÔGÐGÐGÜ�b×,Ñ,×3Ñ3´^ÔDÐDÐDÜ�b×,Ñ,¨XÑ6¼ÔGÐGÐGÜ�b×,Ñ,×3Ñ3´^ÔDÐDÐDØ×%Ñ%×,Ñ,×5Ò5Ð5Ð5à×!Ñ!×(Ñ(×.Ñ.°#Ò5Ð5Ñ5r*   c                  óâ  — t        j                  g d¢g d¢g«      j                  } t        dt	        «       dgfg«      }|j                  | «       t        |j                  d   d   d«      rJ ‚t        |j                  d   d   d«      sJ ‚t        dt	        «       dgfg«      }|j                  | «       t        |j                  d   d   d«      rJ ‚t        |j                  d   d   d«      sJ ‚y )Nrè   rë   r]   r   r/   r5  )
r2   rm   r4   r	   r   r(   r0   r   rq   rp   r6  s     r'   Útest_column_transformer_cloningr9  K  sâ   € Ü�h‰hšªÐ9Ó:×<Ñ<€Gä	˜W¤nÓ&6¸¸Ð<Ð=Ó	>€BØ‡F�Fˆ7„OÜ�r—‘ qÑ)¨!Ñ,¨gÔ6Ð6Ð6Ü�2×#Ñ# AÑ& qÑ)¨7Ô3Ð3Ð3ä	˜W¤nÓ&6¸¸Ð<Ð=Ó	>€BØ×Ñ�WÔÜ�r—‘ qÑ)¨!Ñ,¨gÔ6Ð6Ð6Ü�2×#Ñ# AÑ& qÑ)¨7Ô3Ð3Ñ3r*   c                  óÈ  — t        j                  g d¢g d¢g«      j                  } t        dt	        «       ddgfg«      }t        j                  t        «      5  |j                  «        d d d «       |j                  | «       t        j                  d«      }t        j                  t        |¬«      5  |j                  «        d d d «       y # 1 sw Y   ŒdxY w# 1 sw Y   y xY w)Nrè   rë   r]   r   r/   zETransformer trans (type Trans) does not provide get_feature_names_outrØ   )r2   rm   r4   r	   r   r™   rÛ   r   Úget_feature_names_outr(   r  r  ÚAttributeErrorrñ   s      r'   Ú)test_column_transformer_get_feature_namesr=  Y  s¶   € Ü�h‰hšªÐ9Ó:×<Ñ<€GÜ	˜W¤e£g°°1¨vÐ6Ð7Ó	8€Bä	�‰”~Ó	&ñ #Ø
× Ñ Ô"÷#ð ‡F�Fˆ7„OÜ
�)‰)ØOó€Cô 
�‰”~¨SÔ	1ñ #Ø
× Ñ Ô"÷#ð #÷#ð #ú÷#ð #ús   ÁCÂ2CÃCÃC!c                  ó\  — t        j                  g d¢g d¢g«      j                  } t        dt	        «       dgfdddgfg«      }t        j                  dgd	gd
gg«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk7  sJ ‚t        dddgfdddgfg«      }t        |j                  | «      j                  | «      j                  d«       t        |j                  | «      j                  d«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk7  sJ ‚t        j                  g d¢g d¢g«      j                  } t        dt	        «       dgfdddgfg«      }| }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk7  sJ ‚y )Nrè   rë   rf   r   rg   r^   r/   ré   rÖ   rê   r.   r\   r`   )r²   r   r¬   )r2   rm   r4   r	   r   r   rp   r(   r5   rF   rq   rÎ   )rs   rz   r0  s      r'   Ú'test_column_transformer_special_stringsr?  h  s  € ä�h‰hšªÐ9Ó:×<Ñ<€GÜ	˜X¤u£w°°Ð4°xÀÈ!ÈÐ6MÐNÓ	O€BÜ
�(‰(�S�E˜C˜5 3 %Ð(Ó
)€CÜ�r×'Ñ'¨Ó0°#Ô6Ü�r—v‘v˜g“×0Ñ0°Ó9¸3Ô?Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1ô 
˜X v°¨sÐ3°hÀÈÈÐ5LÐMÓ	N€BÜ�r—v‘v˜g“×0Ñ0°Ó9×?Ñ?ÀÔHÜ�r×'Ñ'¨Ó0×6Ñ6¸Ô?Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1ô �h‰hšªÐ9Ó:×<Ñ<€GÜ	˜X¤u£w°°Ð4°xÀÐQRÐPSÐ6TÐUÓ	V€BØ
€CÜ�r×'Ñ'¨Ó0°#Ô6Ü�r—v‘v˜g“×0Ñ0°Ó9¸3Ô?Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ñ1r*   c                  ó²  — t        j                  g d¢g d¢g«      j                  } t        j                  g d¢«      j                  dd«      }t        j                  g d¢«      j                  dd«      }| }t	        dt        «       dgfg«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk(  sJ ‚|j                  d   d   d	k(  sJ ‚t        |j                  d   d   dg«       t	        d
t        «       dgfgd¬«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk(  sJ ‚t        |j                  d   d   t        «      sJ ‚t        |j                  d   d   dg«       t	        dt        «       dgfgd¬«      }t        |j                  | «      |d d …d d d…f   «       t        |j                  | «      j                  | «      |d d …d d d…f   «       t        |j                  «      dk(  sJ ‚|j                  d   d   dk(  sJ ‚t        |j                  d   d   t        «      sJ ‚t        |j                  d   d   dg«       t	        dd	dgfgd¬«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d   dk(  sJ ‚t        |j                  d   d   t        «      sJ ‚t        |j                  d   d   dg«       t        t        «       dgf«      }|j                  d	k(  sJ ‚y )NrX   rY   r\   r/   rf   r   r.   r`   r^   r]   r¬   r_   )r2   rm   r4   rn   r	   r   r   rp   r(   r5   rF   rq   r•   r   r   r`   )rs   rv   ÚX_res_secondrw   rz   s        r'   Ú!test_column_transformer_remainderrB  ƒ  s—  € Ü�h‰hš	¢9Ð-Ó.×0Ñ0€Gä—(‘(š9Ó%×-Ñ-¨b°!Ó4€KÜ—8‘8šIÓ&×.Ñ.¨r°1Ó5€LØ€Jô 
˜X¤u£w°°Ð4Ð5Ó	6€BÜ�r×'Ñ'¨Ó0°+Ô>Ü�r—v‘v˜g“×0Ñ0°Ó9¸;ÔGÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ø×Ñ˜BÑ Ñ" fÒ,Ð,Ð,Ü�r×'Ñ'¨Ñ+¨AÑ.°°Ô4ô 
˜W¤e£g°¨sÐ3Ð4ÀÔ	N€BÜ�r×'Ñ'¨Ó0°*Ô=Ü�r—v‘v˜g“×0Ñ0°Ó9¸:ÔFÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/BÔCÐCÐCÜ�r×'Ñ'¨Ñ+¨AÑ.°°Ô4ô 
˜X¤u£w°°Ð4Ð5ÀÔ	O€BÜ�r×'Ñ'¨Ó0°*ºQÁÀ"À¸WÑ2EÔFÜ�r—v‘v˜g“×0Ñ0°Ó9¸:ÂaÉÈ2ÈÀgÑ;NÔOÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/BÔCÐCÐCÜ�r×'Ñ'¨Ñ+¨AÑ.°°Ô4ô 
˜X v°¨sÐ3Ð4ÀÔ	N€BÜ�r×'Ñ'¨Ó0°,Ô?Ü�r—v‘v˜g“×0Ñ0°Ó9¸<ÔHÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/BÔCÐCÐCÜ�r×'Ñ'¨Ñ+¨AÑ.°°Ô4ô 
!¤%£'¨A¨3 Ó	0€BØ�<‰<˜6Ò!Ð!Ñ!r*   zcols1, cols2)FTFr/   c                 ó   — dgS ©Nr   r"   ©rb   s    r'   rd   rd   º  s   € �A�3€ r*   c                 ó   — dgS ©Nr/   r"   rE  s    r'   rd   rd   º  s   €  1 #€ r*   Ú	force_intc                 óH  — t        j                  d«      }t        t        «       |ft        «       |fd| ¬«      }t	        j
                  «       5  t	        j                  d«       |j                  |«       |j                  d   d   d   dk(  sJ ‚	 ddd«       y# 1 sw Y   yxY w)	z·Check that the remainder columns are always stored as indices when
    other columns are not all specified as column names or masks, regardless of
    `force_int_remainder_cols`.
    ©r/   r²   r¬   ©r`   r+  Úerrorr\   r   r.   N)	r2   Úonesr   r   ÚwarningsÚcatch_warningsÚsimplefilterrp   rq   )rH  Úcols1Úcols2r%   rz   s        r'   Ú-test_column_transformer_remainder_dtypes_intsrS  µ  s—   € ô 	�‰�‹€Aä	 Ü	‹�%ÐÜ	‹�%ÐØØ!*ô	
€Bô 
×	 Ñ	 Ó	"ñ 0Ü×Ñ˜gÔ&Ø
×Ñ˜ÔØ×Ñ Ñ# BÑ'¨Ñ*¨aÒ/Ð/Ñ/÷0÷ 0ñ 0ús   ÁABÂB!z&force_int, cols1, cols2, expected_colsrß   rà   r.   ÚC)TFF)FFTc                 óÜ  — t        j                  d«      }t        |d   t        «      r*t	        j
                  d«      }|j                  |g d¢¬«      }t        t        «       |ft        «       |fd| ¬«      }t        j                  «       5  t        j                  d«       |j                  |«       d	d	d	«       | r>d
}|j                  d   d   }t	        j                  t        |¬«      5  |d    d	d	d	«       nIt        j                  «       5  t        j                  d«       |j                  d   d   }|d    d	d	d	«       |k(  sJ ‚y	# 1 sw Y   ŒšxY w# 1 sw Y   ŒxY w# 1 sw Y   Œ)xY w)z–Check that the remainder columns format matches the format of the other
    columns when they're all strings or masks, unless `force_int = True`.
    rJ  r   r‡   )rß   rà   rT  rª   r¬   rK  rL  Nz8The format of the columns of the 'remainder' transformerr\   rØ   )r2   rM  r•   Ústrr™   rš   rœ   r   r   rN  rO  rP  rp   rq   ÚwarnsÚFutureWarning)	rH  rQ  rR  Úexpected_colsr%   r­   rz   rÙ   Úcolss	            r'   Ú(test_column_transformer_remainder_dtypesr[  Ó  sQ  € ô 	�‰�‹€Aä�%˜‘(œCÔ Ü× Ñ  Ó*ˆØ�L‰L˜¢OˆLÓ4ˆô 
!Ü	‹�%ÐÜ	‹�%ÐØØ!*ô	
€Bô 
×	 Ñ	 Ó	"ñ Ü×Ñ˜gÔ&Ø
×Ñ˜Ô÷ñ àJˆØ×Ñ Ñ# BÑ'ˆÜ�\‰\œ-¨uÔ5ñ 	Ø�ŠG÷	ð 	ô ×$Ñ$Ó&ñ 	Ü×!Ñ! 'Ô*Ø×#Ñ# BÑ'¨Ñ+ˆDØ�ŠG÷	ð
 �=Ò Ð Ñ ÷!ð ú÷	ð 	ú÷	ð 	ús$   Â
'E
Ã*EÄ-E"Å
EÅEÅ"E+c                  óÐ   — t        ddgd¬«      } t        | «      dk(  sJ ‚t        | «      dk(  sJ ‚t        «       }| j	                  |d«       |j
                  j                  d«       y )Nr   r/   F)Úwarning_enabledz[0, 1])r   rV  Úreprr   Ú_repr_pretty_ÚtextÚassert_called_once_with)rZ  Úmocks     r'   Útest_remainder_list_reprrc    s_   € Ü˜q !˜f°eÔ<€DÜˆt‹9˜Ò Ð Ð Ü�‹:˜Ò!Ð!Ð!Ü‹6€DØ×Ñ�t˜UÔ#Ø‡I�I×%Ñ% hÕ/r*   zkey, expected_colsc                 óä  — t        j                  g d¢g d¢g«      j                  }|}t        dt	        «       | fgdd¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                  «      dk(  sJ ‚|j                  d   d	   d
k(  sJ ‚t        |j                  d   d   t        «      sJ ‚|j                  d   d   |k(  sJ ‚y )NrX   rY   rf   r¬   FrK  r.   r\   r   r`   r/   )r2   rm   r4   r	   r   r   rp   r(   r5   rF   rq   r•   r   ©ÚkeyrY  rs   rw   rz   s        r'   Ú'test_column_transformer_remainder_numpyrg  
  së   € ô �h‰hš	¢9Ð-Ó.×0Ñ0€GØ€Jä	Ø
”E“G˜SÐ	!Ð"ØØ!&ô
€Bô
 �r×'Ñ'¨Ó0°*Ô=Ü�r—v‘v˜g“×0Ñ0°Ó9¸:ÔFÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/BÔCÐCÐCØ×Ñ˜BÑ Ñ" mÒ3Ð3Ñ3r*   rˆ   r‰   úpd-indexrÔ   c                 ó†  — t        j                  d«      }t        | t        «      r| dk(  r|j	                  dg«      } t        j                  g d¢g d¢g«      j                  }|j                  |ddg¬«      }|}t        dt        «       | fgd	d
¬«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                   «      dk(  sJ ‚|j                   d   d   dk(  sJ ‚t        |j                   d   d   t"        «      sJ ‚|j                   d   d   |k(  sJ ‚y )Nr‡   rh  rˆ   rX   rY   r‰   rª   rf   r¬   FrK  r.   r\   r   r`   r/   )r™   rš   r•   rV  ÚIndexr2   rm   r4   rœ   r	   r   r   rp   r(   r5   rF   rq   r   )rf  rY  r­   rs   rŸ   rw   rz   s          r'   Ú(test_column_transformer_remainder_pandasrk  %  s3  € ô  
×	Ñ	˜XÓ	&€BÜ�#”sÔ  zÒ 1Ø�h‰h˜�yÓ!ˆä�h‰hš	¢9Ð-Ó.×0Ñ0€GØ�<‰<˜¨'°8Ð)<ˆ<Ó=€DØ€Jä	Ø
”E“G˜SÐ	!Ð"ØØ!&ô
€Bô
 �r×'Ñ'¨Ó-¨zÔ:Ü�r—v‘v˜d“|×-Ñ-¨dÓ3°ZÔ@Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/BÔCÐCÐCØ×Ñ˜BÑ Ñ" mÒ3Ð3Ñ3r*   )FTTc                 ó<  — t        j                  g d¢g d¢g d¢g«      j                  }|j                  «       }|d d …dd…fxx   dz  cc<   t	        dt        «       | fgt        «       d¬	«      }t        |j                  |«      |«       t        |j                  |«      j                  |«      |«       t        |j                  «      dk(  sJ ‚|j                  d
   d   dk(  sJ ‚t        |j                  d
   d   t        «      sJ ‚|j                  d
   d   |k(  sJ ‚y )NrX   rY   ©é   r[   rZ   r/   r²   r.   rf   FrK  r\   r   r`   )r2   rm   r4   r�   r	   r   r;   r   rp   r(   r5   rF   rq   r•   re  s        r'   Ú-test_column_transformer_remainder_transformerro  J  s  € ô �h‰hš	¢9ªiÐ8Ó9×;Ñ;€GØ—‘“€Jð Šq�!�A�#ˆvÓ˜!ÑÓä	Ø
”E“G˜SÐ	!Ð"Ü“-Ø!&ô
€Bô �r×'Ñ'¨Ó0°*Ô=Ü�r—v‘v˜g“×0Ñ0°Ó9¸:ÔFÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-¬{Ô;Ð;Ð;Ø×Ñ˜BÑ Ñ" mÒ3Ð3Ñ3r*   c                  ó†  — t        j                  g d¢g d¢g d¢g«      j                  } t        dt	        «       g d¢fgt        «       ¬«      }t        |j                  | «      | «       t        |j                  | «      j                  | «      | «       t        |j                  «      dk(  sJ ‚|j                  d   d   d	k7  sJ ‚y )
NrX   rY   rm  rf   r_   r/   r\   r   r`   )r2   rm   r4   r	   r   r;   r   rp   r(   r5   rF   rq   r6  s     r'   Ú:test_column_transformer_no_remaining_remainder_transformerrq  h  s    € Ü�h‰hš	¢9ªiÐ8Ó9×;Ñ;€Gä	˜X¤u£w²	Ð:Ð;Ä{Ã}Ô	U€Bä�r×'Ñ'¨Ó0°'Ô:Ü�r—v‘v˜g“×0Ñ0°Ó9¸7ÔCÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ñ1r*   c                  ó,  — t        j                  g d¢g d¢g d¢g«      j                  } d| j                  «       d d …dd…f   z  }t	        ddd	gfgt        «       ¬
«      }t        |j                  | «      |«       t        |j                  | «      j                  | «      |«       t        |j                  «      dk(  sJ ‚|j                  d   d	   dk(  sJ ‚t        |j                  d   d   t
        «      sJ ‚t        |j                  d   d   ddg«       y )NrX   rY   rm  r.   r/   r²   rf   r^   r   r_   r\   r`   )r2   rm   r4   r�   r	   r;   r   rp   r(   r5   rF   rq   r•   )rs   rw   rz   s      r'   Ú7test_column_transformer_drops_all_remainder_transformerrs  s  sý   € Ü�h‰hš	¢9ªiÐ8Ó9×;Ñ;€Gð �W—\‘\“^¢A q¨ s FÑ+Ñ+€Jä	˜X v°¨sÐ3Ð4ÄÃÔ	N€Bä�r×'Ñ'¨Ó0°*Ô=Ü�r—v‘v˜g“×0Ñ0°Ó9¸:ÔFÜˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-¬{Ô;Ð;Ð;Ü�r×'Ñ'¨Ñ+¨AÑ.°°A°Õ7r*   c                 ó¦  — t        j                  g d¢g d¢g d¢g«      j                  }t        dt	        «       dgfgt        | «      d¬«      }|j                  |«      }t        j                  |«      sJ ‚|j                  dk(  sJ ‚t        j                  |d d …df   j                  d	d
«      t        j                  d«      f«      }t        |j                  «       |«       t        |j                   «      dk(  sJ ‚|j                   d	   d   dk(  sJ ‚t#        |j                   d	   d
   t
        «      sJ ‚t        |j                   d	   d   d
dg«       y )NrX   rY   rm  rf   r   r»   r¼   ©r²   rZ   r\   r/   r²   r.   r`   )r2   rm   r4   r	   r   r@   rp   r   r¿   rÎ   Úhstackrn   rG   r   rÏ   rF   rq   r•   )rB   rs   rz   r¶   Ú	exp_arrays        r'   Ú4test_column_transformer_sparse_remainder_transformerrx  ƒ  s2  € ä�h‰hš	¢9ªiÐ8Ó9×;Ñ;€Gä	Ø
”E“G˜a˜SÐ	!Ð"Ü# MÓ2Øô
€Bð ×Ñ˜wÓ'€GÜ�?‰?˜7Ô#Ð#Ð#ð �=‰=˜JÒ&Ð&Ð&ä—	‘	˜7¢1 a 4™=×0Ñ0°°QÓ7¼¿¹À»ÐCÓD€IÜ�w—‘Ó(¨)Ô4Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/@ÔAÐAÐAÜ�r×'Ñ'¨Ñ+¨AÑ.°°A°Õ7r*   c                 ó:  — t        j                  g d¢g d¢g d¢g«      j                  }t        dddgfgt	        | «      d¬«      }|j                  |«      }t        j                  |«      sJ ‚|j                  d	k(  sJ ‚t        |j                  «       t        j                  d
«      «       t        |j                  «      dk(  sJ ‚|j                  d   d   dk(  sJ ‚t        |j                  d   d   t        «      sJ ‚t        |j                  d   d   ddg«       y )NrX   rY   rm  rf   r^   r   r»   r¼   )r²   r²   r²   r.   r\   r`   r/   )r2   rm   r4   r	   r@   rp   r   r¿   rÎ   r   rÏ   rG   rF   rq   r•   )rB   rs   rz   r¶   s       r'   Ú=test_column_transformer_drop_all_sparse_remainder_transformerrz  ›  s  € ä�h‰hš	¢9ªiÐ8Ó9×;Ñ;€GÜ	Ø
�F˜Q˜CÐ	 Ð!Ü# MÓ2Øô
€Bð ×Ñ˜wÓ'€GÜ�?‰?˜7Ô#Ð#Ð#ð �=‰=˜FÒ"Ð"Ð"Ü�w—‘Ó(¬"¯&©&°«)Ô4Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ü�b×&Ñ& rÑ*¨1Ñ-Ô/@ÔAÐAÐAÜ�r×'Ñ'¨Ñ+¨AÑ.°°A°Õ7r*   c                  óÀ  — t        dt        «       dgfgt        «       ¬«      } d | j                  dddd| j                  d   d   ddd| j                  d ddddœ}| j	                  «       |k(  sJ ‚| j                  d¬	«       | j	                  «       d
   rJ ‚| j                  d¬«       d | j                  ddddd| j                  d ddddœ}| j	                  «       |k(  sJ ‚y )Nrf   r   r_   Tr"  r/   F)r  r`   Úremainder__copyÚremainder__with_meanÚremainder__with_stdr½   rf   r#  r$  r%  r   rl   r)  r*  r+  )r~  r~  r¬   r,  )r  r`   r|  r}  r~  r½   rf   r   rl   r)  r*  r+  )r	   r   r`   r   r-  r.  r/  s     r'   Ú5test_column_transformer_get_set_params_with_remainderr  °  sÿ   € Ü	Ø
”NÓ$ q cÐ	*Ð+´~Ó7Gô
€Bð
 Ø—\‘\ØØ $Ø#ØØ—/‘/ !Ñ$ QÑ'ØØ!Ø ØŸ™Ø#Ø%)ØØ$(ñ€Cð$ �=‰=‹?˜cÒ!Ð!Ð!à‡M�M e€MÔ,Ø�}‰}‹Ð4Ò5Ð5Ð5à‡M�M˜€MÔ'àØ—\‘\ØØ $Ø$ØØØŸ™Ø#Ø%)ØØ$(ñ€Cð �=‰=‹?˜cÒ!Ð!Ñ!r*   c                  ó¶  — t        j                  g d¢g d¢g d¢g«      j                  d«      j                  } t	        g t        «       ¬«      }|j                  «       }|d   sJ ‚|j                  | «      }|j                  | j                  k(  sJ ‚t        |j                  «      dk(  sJ ‚|j                  d   d	   d
k(  sJ ‚|j                  d   d   g d¢k(  sJ ‚y )NrX   rY   rm  rÉ   r_   r}  r/   r\   r   r`   r.   )r2   rm   Úastyper4   r	   r   r-  rp   rÎ   rF   rq   )rs   rz   Úparamsr¶   s       r'   Ú%test_column_transformer_no_estimatorsrƒ  Þ  sÌ   € Ü�h‰hš	¢9ªiÐ8Ó9×@Ñ@ÀÓI×KÑK€GÜ	˜2¬Ó)9Ô	:€Bà�]‰]‹_€FØÐ(Ò)Ð)Ð)à×Ñ˜wÓ'€GØ�=‰=˜GŸM™MÒ)Ð)Ð)Üˆr×ÑÓ  AÒ%Ð%Ð%Ø×Ñ˜BÑ Ñ" kÒ1Ð1Ð1Ø×Ñ˜BÑ Ñ"¢iÒ/Ð/Ñ/r*   ÚestÚpatternrf   rg   r_   zÄ\[ColumnTransformer\].*\(1 of 3\) Processing trans1.* total=.*\n\[ColumnTransformer\].*\(2 of 3\) Processing trans2.* total=.*\n\[ColumnTransformer\].*\(3 of 3\) Processing remainder.* total=.*\n$z„\[ColumnTransformer\].*\(1 of 2\) Processing trans1.* total=.*\n\[ColumnTransformer\].*\(2 of 2\) Processing remainder.* total=.*\n$z�\[ColumnTransformer\].*\(1 of 2\) Processing trans1.* total=.*\n\[ColumnTransformer\].*\(2 of 2\) Processing trans2.* total=.*\n$zA\[ColumnTransformer\].*\(1 of 1\) Processing trans1.* total=.*\n$Úmethodr(   rp   c                 óh  — t        j                  g d¢g d¢g d¢g«      j                  }t        | |«      }| j	                  d¬«        ||«       |j                  «       j                  rJ d«       ‚| j	                  d¬«        ||«       t        j                  ||j                  «       d   «      sJ ‚y )	NrX   rY   rm  F)r*  zGot output for verbose=FalseTr   )	r2   rm   r4   r1   r.  Ú
readouterrÚoutr  rÙ   )r„  r…  r†  Úcapsysrs   rî   s         r'   Útest_column_transformer_verboser‹  ì  s–   € ôL �h‰hš	¢9ªiÐ8Ó9×;Ñ;€Gä�3˜Ó€DØ‡N�N˜5€NÔ!Ùˆ„MØ× Ñ Ó"×&Ò&ÐFÐ(FÓFÐ&à‡N�N˜4€NÔ Ùˆ„MÜ�8‰8�G˜V×.Ñ.Ó0°Ñ3Ô4Ð4Ñ4r*   c                  ó\   — t        g «      j                  d¬«      } | j                  dk(  sJ ‚y )Nr.   )r  )r	   r.  r  ©rz   s    r'   Ú0test_column_transformer_no_estimators_set_paramsrŽ  >  s*   € Ü	˜2Ó	×	)Ñ	)°Ð	)Ó	3€BØ�9‰9˜Š>Ð‰>r*   c                  óÄ  ‡— t        j                  g d¢g d¢g«      j                  Št        j                  g d¢g«      j                  } ˆfd„}t        dt	        «       |fgd¬«      }t        |j                  ‰«      | «       t        |j                  ‰«      j                  ‰«      | «       t        |j                  d   d   «      sJ ‚|j                  d   d   dgk(  sJ ‚y )	NrX   rY   c                 ó"   •— t        | ‰«       dgS rD  )r   )r%   rs   s    €r'   rî   z8test_column_transformer_callable_specifier.<locals>.funcH  s   ø€ Ü˜1˜gÔ&Øˆsˆ
r*   r]   r^   r_   r   r.   )r2   rm   r4   r	   r   r   rp   r(   r5   Úcallabler   rq   )rv   rî   rz   rs   s      @r'   Ú*test_column_transformer_callable_specifierr’  C  s¿   ø€ ä�h‰hš	¢9Ð-Ó.×0Ñ0€GÜ—(‘(šI˜;Ó'×)Ñ)€Kôô 
˜W¤e£g¨tÐ4Ð5ÀÔ	H€BÜ�r×'Ñ'¨Ó0°+Ô>Ü�r—v‘v˜g“×0Ñ0°Ó9¸;ÔGÜ�B—O‘O AÑ& qÑ)Ô*Ð*Ð*Ø×Ñ˜AÑ˜qÑ! a SÒ(Ð(Ñ(r*   c                  ó  ‡— t        j                  d«      } t        j                  g d¢g d¢g«      j                  }t        j                  g d¢g«      j                  }| j                  |ddg¬«      Šˆfd„}t        dt        «       |fgd	¬
«      }t        |j                  ‰«      |«       t        |j                  ‰«      j                  ‰«      |«       t        |j                  d   d   «      sJ ‚|j                  d   d   dgk(  sJ ‚y )Nr‡   rX   rY   rˆ   r‰   rª   c                 óŠ   •— t        | j                  ‰j                  «       t        | j                  ‰j                  «       dgS )Nrˆ   )r   rž   Úvalues)r%   rŸ   s    €r'   rî   zBtest_column_transformer_callable_specifier_dataframe.<locals>.func[  s/   ø€ Ü˜1Ÿ9™9 d§l¡lÔ3Ü˜1Ÿ8™8 T§[¡[Ô1ØˆyÐr*   r]   r^   r_   r   r.   )r™   rš   r2   rm   r4   rœ   r	   r   r   rp   r(   r5   r‘  r   rq   )r­   rs   rv   rî   rz   rŸ   s        @r'   Ú4test_column_transformer_callable_specifier_dataframer–  S  sæ   ø€ ä	×	Ñ	˜XÓ	&€BÜ�h‰hš	¢9Ð-Ó.×0Ñ0€GÜ—(‘(šI˜;Ó'×)Ñ)€Kà�<‰<˜¨'°8Ð)<ˆ<Ó=€Dôô
 
˜W¤e£g¨tÐ4Ð5ÀÔ	H€BÜ�r×'Ñ'¨Ó-¨{Ô;Ü�r—v‘v˜d“|×-Ñ-¨dÓ3°[ÔAÜ�B—O‘O AÑ& qÑ)Ô*Ð*Ð*Ø×Ñ˜AÑ˜qÑ! g YÒ.Ð.Ñ.r*   c                  óX  — t         j                  j                  dd«      } t        j                  dgdgg«      }t        j                  | |gd¬«      } t        «       }t        d|dgfgd¬«      }t        d|dgfgd¬«      }t        |j                  | «      |j                  | «      «       y )Nr.   r/   ©ÚaxisÚoher\   r¬   r_   )	r2   ÚrandomÚrandnrm   Úconcatenater   r	   r   rp   )r%   ÚX_categoriesrš  Útf_1Útf_2s        r'   Ú/test_column_transformer_negative_column_indexesr¡  g  s˜   € Ü
�	‰	�‰˜˜1Ó€AÜ—8‘8˜a˜S 1 #˜JÓ'€LÜ
�‰˜˜<Ð(¨qÔ1€Aä
‹/€Cä˜u c¨B¨4Ð0Ð1¸]ÔK€DÜ˜u c¨A¨3Ð/Ð0¸MÔJ€DÜ�t×)Ñ)¨!Ó,¨d×.@Ñ.@ÀÓ.CÕDr*   Ú
array_typec                 óÌ   — t        j                  g d¢g d¢g d¢g d¢g«      } | |«      }t        dt        «       g d¢fg«      }|j	                  |«      }|j
                  dk(  sJ ‚y )N©r/   r.   r²   ©rZ   é   r[   )r¦  r[   é   )rn  rþ   ri   Úidentity)FTFT)r²   r.   )r2   Ú	transposer	   r   rp   rÎ   )r¢  r%   Úcolumn_transformerr¶   s       r'   Ú%test_column_transformer_mask_indexingr«  s  se   € ô 	�‰’i¢ªI²zÐBÓC€AÙ�1‹€AÜ*Ø
Ô)Ó+Ò-GÐ	HÐIóÐð !×.Ñ.¨qÓ1€GØ�=‰=˜FÒ"Ð"Ñ"r*   c                  óÄ   — ddgddgddgg} t        dt        «       dgfd	t        «       dgfg«      }t        |d
«      rJ ‚|j                  | «       |j                  dk(  sJ ‚y )Nr/   r.   r²   rZ   r¦  r[   rÅ   r   rÆ   Ún_features_in_)r	   r;   r0   r(   r­  )r%   rz   s     r'   Útest_n_features_inr®  €  sq   € ð ˆQˆ�!�Q�˜!˜Q˜Ð €AÜ	˜S¤+£-°!°Ð5¸¼[»]ÈQÈCÐ7PÐQÓ	R€BÜ�rÐ+Ô,Ð,Ð,Ø‡F�Fˆ1„IØ×Ñ Ò!Ð!Ñ!r*   zcols, pattern, include, excludeÚcol_intÚ	col_floatÚcol_strzat$z^col_intz	float|strz^col_szstr$©r¯  r°  r±  c                 ó  — t        j                  d«      }|j                  t        j                  g d¢t
        ¬«      t        j                  g d¢t        ¬«      g d¢dœg d¢¬«      }t        |||¬«      }t         ||«      | «       y )	Nr‡   rX   rÔ   rè   ©ÚoneÚtwoÚthreer²  rª   )Údtype_includeÚdtype_excluder…  )	r™   rš   rœ   r2   rm   ÚintrÉ   r
   r   )rZ  r…  ÚincludeÚexcluder­   rŸ   Úselectors          r'   Ú,test_make_column_selector_with_select_dtypesr¾  ‹  ss   € ô& 
×	Ñ	˜XÓ	&€Bà�<‰<ä—x‘x¢	´Ô5ÜŸ™¢/¼Ô?Ú.ñ	
ò
 4ð ó €Dô $Ø¨W¸gô€Hô ‘x “~ tÕ,r*   c                  ó(  — t        j                  d«      } | j                  t        j                  g d¢t
        ¬«      t        j                  g d¢t        ¬«      g d¢g d¢dœg d¢¬«      }|d	   j                  d
«      |d	<   t        d
t        g¬«      }t        t        j                  ¬«      }t        «       }t        «       }t        ||f||f«      }t        |dd	gf|ddgf«      }|j                  |«      }|j                  |«      }	t        ||	«       y )Nr‡   rX   rÔ   rè   )rµ  r¶  rµ  )ÚlowÚmiddleÚhigh)r¯  r°  Úcol_catr±  rª   r±  Úcategory©r¸  rÃ  r°  r¯  )r™   rš   rœ   r2   rm   rº  rÉ   r�  r
   rã   Únumberr   r   r   rp   r   )
r­   rŸ   Úcat_selectorÚnum_selectorrš  r  Úct_selectorÚ	ct_directÚ
X_selectorÚX_directs
             r'   Ú1test_column_transformer_with_make_column_selectorrÍ  °  sü   € ä	×	Ñ	˜XÓ	&€BØ�<‰<ä—x‘x¢	´Ô5ÜŸ™¢/¼Ô?Ú,Ú0ñ		
ò ?ð ó €Dð ˜9‘o×,Ñ,¨ZÓ8€Dˆ�Oä'°zÄ6Ð6JÔK€LÜ'´b·i±iÔ@€Lä
‹/€CÜÓ€Fä)¨3°Ð*=ÀÈÐ?UÓV€KÜ'Ø	ˆy˜)Ð$Ð%¨°¸iÐ0HÐ'Ió€Ið ×*Ñ*¨4Ó0€JØ×&Ñ& tÓ,€Hä�J Õ)r*   c                  óÜ   — t        t        j                  ¬«      } t        j                  ddgg«      }d}t	        j
                  t        |¬«      5   | |«       d d d «       y # 1 sw Y   y xY w)NrÅ  rh   rá   z=make_column_selector can only be applied to pandas dataframesrØ   )r
   r2   rÆ  rm   r™   rÛ   rT   )r½  r%   rí   s      r'   Útest_make_column_selector_errorrÏ  Ï  sS   € Ü#´"·)±)Ô<€HÜ
�‰�3˜�*�Ó€AØ
I€CÜ	�‰”z¨Ô	-ñ Ù�Œ÷÷ ñ ús   Á	A"Á"A+c                  ór  — t        j                  d«      } | j                  t        j                  g d¢t
        ¬«      t        j                  g d¢t        ¬«      g d¢dœg d¢¬«      }t        t        g¬«      }t        j                  t        j                  |«      «      }t         ||«       ||«      «       y )	Nr‡   rX   rÔ   rè   r´  r²  rª   rÅ  )r™   rš   rœ   r2   rm   rº  rÉ   r
   rã   ÚpickleÚloadsÚdumpsr   )r­   rŸ   r½  Úselector_pickeds       r'   Ú test_make_column_selector_picklerÕ  ×  s†   € Ü	×	Ñ	˜XÓ	&€Bà�<‰<ä—x‘x¢	´Ô5ÜŸ™¢/¼Ô?Ú.ñ	
ò
 4ð ó €Dô $´6°(Ô;€HÜ—l‘l¤6§<¡<°Ó#9Ó:€Oä‘x “~¡°tÓ'<Õ=r*   Ú	empty_colc                 ó   — g S r!   r"   rE  s    r'   rd   rd   ë  s   € ¨B€ r*   )r¥   rm   r‘  c                 ó  — t        j                  d«      }|j                  g d¢g d¢dœ«      }t        dt	        «       ddgfdt	        «       | fg¬	«      }|j                  |«       t        |j                  «       g d
¢«       y )Nr‡   ©rÅ   rÅ   rÆ   ©ÚzrÛ  rÛ  ©rô   rõ   rš  rô   rõ   Úempty_features©r   )Úohe__col1_aÚohe__col1_bÚohe__col2_z©r™   rš   rœ   r	   r   r(   r   r;  )rÖ  r­   rÜ   rz   s       r'   Ú test_feature_names_empty_columnsrã  é  sw   € ô 
×	Ñ	˜XÓ	&€Bà	�‰šºÑHÓ	I€Bä	à”M“O f¨fÐ%5Ð6Øœ}›°	Ð:ð
ô
€Bð ‡F�Fˆ2„JÜØ
× Ñ Ó"Ò$Qõr*   r½  c                 ó   — dgS rG  r"   rE  s    r'   rd   rd     s   € �1�#€ r*   rõ   c                 ó   — dgS )Nrõ   r"   rE  s    r'   rd   rd     s   € �6�(€ r*   c                 ó
   — ddgS ©NFTr"   rE  s    r'   rd   rd     s
   € �5˜$�-€ r*   c                 óä   — t        j                  d«      }|j                  g d¢g d¢dœ«      }t        dt	        «       | fg«      }|j                  |«       t        |j                  «       dg«       y)z1Checks name when selecting only the second columnr‡   rÙ  rÚ  rÜ  rš  rá  Nrâ  )r½  r­   rÜ   rz   s       r'   Útest_feature_names_out_pandasré     s]   € ô 
×	Ñ	˜XÓ	&€BØ	�‰šºÑHÓ	I€BÜ	˜U¤M£O°XÐ>Ð?Ó	@€BØ‡F�Fˆ2„Jä�r×/Ñ/Ó1°M°?ÕCr*   c                 ó   — dgS rG  r"   rE  s    r'   rd   rd     s   €   € r*   c                 ó
   — ddgS rç  r"   rE  s    r'   rd   rd     s
   € ¸uÀd¸m€ r*   c                 ó    — ddgddgddgg}t        dt        «       | fg«      }|j                  |«       t        |j	                  «       dg«       y)z=Checks name when selecting the second column with numpy arrayrÅ   rÛ  rÆ   rš  Ú	ohe__x1_zN)r	   r   r(   r   r;  )r½  r%   rz   s      r'   Ú!test_feature_names_out_non_pandasrî    sR   € ð
 ˆsˆ�c˜3�Z # s Ð,€AÜ	˜U¤M£O°XÐ>Ð?Ó	@€BØ‡F�Fˆ1„Iä�r×/Ñ/Ó1°K°=ÕAr*   c                 óÐ   — t        «       }t        d|ddgfg| ¬«      }|j                  «       }|j                  dk(  sJ ‚|j                  ddgdfk(  sJ ‚|j
                  || fk(  sJ ‚y )Nrš  rô   rõ   ©r   r`   ©rš  r`   Ú ©r   r	   Ú_sk_visual_block_r  Úname_detailsÚ
estimators)r`   rš  rz   Úvisual_blocks       r'   Útest_sk_visual_block_remainderrø  !  s…   € ô ‹/€CÜ	Ø˜c F¨FÐ#3Ð4Ð5Àô
€Bð ×'Ñ'Ó)€LØ×ÑÐ!5Ò5Ð5Ð5Ø×$Ñ$¨&°&Ð)9¸2Ð(>Ò>Ð>Ð>Ø×"Ñ" s¨IÐ&6Ò6Ð6Ñ6r*   c                  óÊ   — t        «       } t        d| ddgfg¬«      }|j                  «       }|j                  dk(  sJ ‚|j                  ddgfk(  sJ ‚|j
                  | fk(  sJ ‚y )Nrš  rô   rõ   rÞ  )rš  ró  )rš  rz   r÷  s      r'   Ú#test_sk_visual_block_remainder_droprú  .  sv   € ä
‹/€CÜ	¨%°°v¸vÐ6FÐ)GÐ(HÔ	I€BØ×'Ñ'Ó)€LØ×Ñ Ò)Ð)Ð)Ø×$Ñ$¨&°&Ð)9Ð(;Ò;Ð;Ð;Ø×"Ñ" s fÒ,Ð,Ñ,r*   c                 ó^  — t        j                  d«      }t        «       }t        d|ddgfg| d¬«      }|j	                  g d¢g d¢g d	¢g d
¢dœ«      }|j                  |«       |j                  «       }|j                  dk(  sJ ‚|j                  ddgddgfk(  sJ ‚|j                  || fk(  sJ ‚y )Nr‡   rš  rô   rõ   F)r   r`   r+  ©rÅ   rÆ   ÚcrÚ  r¤  ©r²   rZ   r¦  )rô   rõ   Úcol3Úcol4rñ  rÿ  r   )
r™   rš   r   r	   rœ   r(   rô  r  rõ  rö  )r`   r­   rš  rz   rÜ   r÷  s         r'   Ú,test_sk_visual_block_remainder_fitted_pandasr  8  sÊ   € ô 
×	Ñ	˜XÓ	&€BÜ
‹/€CÜ	Ø˜c F¨FÐ#3Ð4Ð5ØØ!&ô
€Bð
 
�‰â#Ú#ÚÚñ		
ó
€Bð ‡F�Fˆ2„JØ×'Ñ'Ó)€LØ×ÑÐ!5Ò5Ð5Ð5Ø×$Ñ$¨&°&Ð)9¸FÀFÐ;KÐ(LÒLÐLÐLØ×"Ñ" s¨IÐ&6Ò6Ð6Ñ6r*   c                 ó6  — t        j                  g d¢g d¢gt        ¬«      }t        «       }t	        d|ddgfg| ¬«      }|j                  |«       |j                  «       }|j                  dk(  sJ ‚|j                  ddgd	gfk(  sJ ‚|j                  || fk(  sJ ‚y )
Nr¤  r¥  rÔ   Úscaler   r.   rð  )r  r`   r/   )
r2   rm   rÉ   r   r	   r(   rô  r  rõ  rö  )r`   r%   r  rz   r÷  s        r'   Ú+test_sk_visual_block_remainder_fitted_numpyr  Q  s¥   € ô 	�‰’)šYÐ'¬uÔ5€AÜÓ€FÜ	Ø ¨¨A¨Ð/Ð0¸Iô
€Bð ‡F�Fˆ1„IØ×'Ñ'Ó)€LØ×ÑÐ!7Ò7Ð7Ð7Ø×$Ñ$¨!¨Q¨°!°¨Ò5Ð5Ð5Ø×"Ñ" v¨yÐ&9Ò9Ð9Ñ9r*   Úexplicit_colname)rˆ   r‰   r   r/   c                 óö  — t        j                  d«      }t        j                  g d¢g d¢g«      j                  }|j                  |ddg¬«      }t        j                  g d¢g d¢g«      j                  }|j                  |ddg¬«      }t        dt        «       | fg|¬«      }|j                  |«       |j                  |«      }|j                  |«      }	t        |	|«       |j                  «       }
g d	¢|
d
<   |j                  |
«      }	t        |	|«       t        | t        «      rH|j                  «       }d}t        j                  t        |¬«      5  |j                  |«       ddd«       yy# 1 sw Y   yxY w)z=Test the interaction between remainder and column transformerr‡   rX   rY   rˆ   r‰   rª   Úbycolr_   rý   Úthirdrü   rØ   N)r™   rš   r2   rm   r4   rœ   r	   r   r(   r5   r   r�   r•   rV  rÛ   rT   )r  r`   r­   ÚX_fit_arrayÚX_fit_dfÚX_trans_arrayÚ
X_trans_dfÚtfÚX_fit_transr¶   ÚX_extended_dfrs   r  s                r'   Ú8test_column_transformer_reordered_column_names_remainderr  `  sI  € ô 
×	Ñ	˜XÓ	&€Bä—(‘(šI¢yÐ1Ó2×4Ñ4€KØ�|‰|˜K°'¸8Ð1Dˆ|ÓE€Hä—H‘HšiªÐ3Ó4×6Ñ6€MØ—‘˜m°hÀÐ5H�ÓI€Jä	˜W¤e£gÐ/?Ð@ÐAÈYÔ	W€Bà‡F�Fˆ8ÔØ—,‘,˜xÓ(€Kð �l‰l˜:Ó&€GÜ�G˜[Ô)ð —M‘M“O€MÚ&€M�'ÑØ�l‰l˜=Ó)€GÜ�G˜[Ô)äÐ"¤CÔ(ð ×"Ñ"Ó$ˆØ*ˆÜ�]‰]œ:¨WÔ5ñ 	"Ø�L‰L˜Ô!÷	"ð 	"ð )÷
	"ð 	"ús   ÅE/Å/E8c                  óÚ  — t        j                  d«      } t        j                  d¬«      }| j	                  |g d¢¬«      }|j                  dd¬«      }t        d	t        «       dgfgd
¬«      }|j                  |«       d}t        j                  t        |¬«      5  |j                  |«       ddd«       t        d	t        «       dgfgd¬«      }|j                  |«       |j                  |«      }|j                  |«      }t        ||«       t        d	ddgfgd
¬«      }|j                  |«       |j                  |«      }|j                  |«      }t        ||«       y# 1 sw Y   Œ´xY w)zRTest the interaction between {'drop', 'passthrough'} and
    missing column names.r‡   ru  )rÎ   ©rÅ   rÆ   rý  Údrª   rý  r/   r˜  r  r¬   r_   zcolumns are missing: {'c'}rØ   Nr^   )r™   rš   r2   rM  rœ   r^   r	   r   r(   rÛ   rT   r5   r   )r­   r%   rÜ   Ú
df_droppedr  rí   Údf_dropped_transÚdf_fit_transs           r'   Ú<test_feature_name_validation_missing_columns_drop_passthoughr  †  s>  € ô 
×	Ñ	˜XÓ	&€Bä
�‰�fÔ€AØ	�‰�aÒ!5ˆÓ	6€Bà—‘˜ 1�Ó%€Jô 
˜W¤e£g°¨sÐ3Ð4ÀÔ	N€BØ‡F�Fˆ2„JØ
'€CÜ	�‰”z¨Ô	-ñ !Ø
�‰�ZÔ ÷!ô 
˜W¤e£g°¨sÐ3Ð4ÀÔ	G€BØ‡F�Fˆ2„Jà—|‘| JÓ/ÐØ—<‘< Ó#€LÜÐ$ lÔ3ô 
˜W f¨s¨eÐ4Ð5ÀÔ	O€BØ‡F�Fˆ2„JØ—|‘| JÓ/ÐØ—<‘< Ó#€LÜÐ$ lÕ3÷!!ð !ús   ÂE!Å!E*c                  óp  — t        j                  d«      } g d¢}| j                  g d¢g|¬«      }t        dt	        «       ddgfgd¬	«      }|j                  |«       t        |j                  |«       t        |j                  t        j                  «      sJ ‚|j                  j                  t        k(  sJ ‚y
)a?  Feature names are stored in column transformer.

    Column transformer deliberately does not check for column name consistency.
    It only checks that the non-dropped names seen in `fit` are seen
    in `transform`. This behavior is already tested in
    `test_feature_name_validation_missing_columns_drop_passthough`r‡   ©rÅ   rý  r  r¤  rª   r  rÅ   r  r¬   r_   N)r™   rš   rœ   r	   r   r(   r   Úfeature_names_in_r•   r2   ÚndarrayrÕ   rã   )r­   Úfeature_namesrÜ   rz   s       r'   Útest_feature_names_in_r  ¨  s˜   € ô 
×	Ñ	˜XÓ	&€Bâ#€MØ	�‰’y�k¨=ˆÓ	9€BÜ	˜W¤e£g°°S¨zÐ:Ð;À}Ô	U€Bà‡F�Fˆ2„JÜ�r×+Ñ+¨]Ô;Ü�b×*Ñ*¬B¯J©JÔ7Ð7Ð7Ø×Ñ×%Ñ%¬Ò/Ð/Ñ/r*   c                   ó   — e Zd Zdd„Zdd„Zy)ÚTransWithNamesNc                 ó   — || _         y r!   ©Úfeature_names_out)r$   r"  s     r'   rC   zTransWithNames.__init__½  s
   € Ø!2ˆÕr*   c                 óh   — | j                   �%t        j                  | j                   t        ¬«      S |S )NrÔ   )r"  r2   Úasarrayrã   )r$   Úinput_featuress     r'   r;  z$TransWithNames.get_feature_names_outÀ  s+   € Ø×!Ñ!Ð-Ü—:‘:˜d×4Ñ4¼FÔCÐCØÐr*   r!   )r7   r8   r9   rC   r;  r"   r*   r'   r  r  ¼  s   „ ó3ôr*   r  z'transformers, remainder, expected_namesÚbycol1r  rý  Úbycol2)Ú	bycol1__dÚ	bycol1__cÚ	bycol2__dÚremainder__aÚremainder__b)r(  r)  r*  rÆ   )Ú	bycol1__br+  Úremainder__cÚpca1Úpca2)rÅ   rÆ   r  )Úbycol1__pca1Úbycol1__pca2r.  rÅ   )Ú	bycol1__ar-  Ú	bycol2__br  )Úbycol1__pca0r1  Úbycol2__pca0Úbycol2__pca1r+  r.  Úremainder__dr²   r-  r)  rZ   r+  )r(  r)  Ú	bycol2__cr*  r+  r,  c                 ó4  — t        j                  d«      }|j                  g d¢gg d¢¬«      }t        | |¬«      }|j	                  |«       |j                  «       }t        |t        j                  «      sJ ‚|j                  t        k(  sJ ‚t        ||«       y)úDCheck feature_names_out for verbose_feature_names_out=True (default)r‡   ©r/   r.   r²   rZ   r  rª   r_   N©r™   rš   rœ   r	   r(   r;  r•   r2   r  rÕ   rã   r   ©r   r`   Úexpected_namesr­   rÜ   rz   r  s          r'   Ú#test_verbose_feature_names_out_truer@  Æ  s…   € ôt 
×	Ñ	˜XÓ	&€BØ	�‰’|�nÒ.BˆÓ	C€BÜ	ØØô
€Bð ‡F�Fˆ2„Jà×$Ñ$Ó&€EÜ�eœRŸZ™ZÔ(Ð(Ð(Ø�;‰;œ&Ò Ð Ð Ü�u˜nÕ-r*   Ú
trans_nameÚ	feat_namec                 ó   — | d d › d|› �S )Nr.   z++r"   ©rA  rB  s     r'   Ú&_feature_names_out_callable_name_clashrE  N  s   € Ø˜˜!ˆnÐ˜R 	˜{Ð+Ð+r*   c                 óH   — | j                  «       › d|j                  «       › �S )Nú=)ÚupperrD  s     r'   Ú!_feature_names_out_callable_upperrI  R  s%   € Ø×ÑÓ Ð!  9§?¡?Ó#4Ð"5Ð6Ð6r*   zBtransformers, remainder, verbose_feature_names_out, expected_names)úby++dzby++crJ  zre++azre++bz!{feature_name}-{transformer_name})zd-bycol1zc-bycol1zd-bycol2)zBYCOL1=DzBYCOL1=CzBYCOL2=CzBYCOL2=DzREMAINDER=AzREMAINDER=Bc                 ó6  — t        j                  d«      }|j                  g d¢gg d¢¬«      }t        | ||¬«      }|j	                  |«       |j                  «       }t        |t        j                  «      sJ ‚|j                  t        k(  sJ ‚t        ||«       y)r;  r‡   r<  r  rª   ©r`   r)  Nr=  )r   r`   r)  r?  r­   rÜ   rz   r  s           r'   Ú.test_verbose_feature_names_out_callable_or_strrM  V  sˆ   € ôV 
×	Ñ	˜XÓ	&€BØ	�‰’|�nÒ.BˆÓ	C€BÜ	ØØØ";ô
€Bð
 ‡F�Fˆ2„Jà×$Ñ$Ó&€EÜ�eœRŸZ™ZÔ(Ð(Ð(Ø�;‰;œ&Ò Ð Ð Ü�u˜nÕ-r*   )r  rý  rÅ   rÆ   )rÆ   rÅ   rý  )r/  r0  rý  r  Úkpca)Úpca0r/  Úkpca0Úkpca1rÅ   rý  r  rü  )r  rý  rÆ   c                 ó6  — t        j                  d«      }|j                  g d¢gg d¢¬«      }t        | |d¬«      }|j	                  |«       |j                  «       }t        |t        j                  «      sJ ‚|j                  t        k(  sJ ‚t        ||«       y)ú;Check feature_names_out for verbose_feature_names_out=Falser‡   r<  r  rª   FrL  Nr=  r>  s          r'   Ú$test_verbose_feature_names_out_falserT  �  sˆ   € ôj 
×	Ñ	˜XÓ	&€BØ	�‰’|�nÒ.BˆÓ	C€BÜ	ØØØ"'ô
€Bð
 ‡F�Fˆ2„Jà×$Ñ$Ó&€EÜ�eœRŸZ™ZÔ(Ð(Ð(Ø�;‰;œ&Ò Ð Ð Ü�u˜nÕ-r*   z*transformers, remainder, colliding_columnsz['b']z['c']z['a']z
['b', 'c']Úbycol3z
['a', 'b']r[   z-['pca0', 'pca1', 'pca2', 'pca3', 'pca4', ...]c                 óN  — t        j                  d«      }|j                  g d¢gg d¢¬«      }t        | |d¬«      }|j	                  |«       t        j                  d|› d�«      }t        j                  t        |¬	«      5  |j                  «        d
d
d
«       y
# 1 sw Y   y
xY w)rS  r‡   r<  r  rª   FrL  zOutput feature names: z[ are not unique. Please set verbose_feature_names_out=True to add prefixes to feature namesrØ   N)
r™   rš   rœ   r	   r(   r  r  rÛ   rT   r;  )r   r`   Úcolliding_columnsr­   rÜ   rz   rí   s          r'   Ú+test_verbose_feature_names_out_false_errorsrX    sž   € ô` 
×	Ñ	˜XÓ	&€BØ	�‰’|�nÒ.BˆÓ	C€BÜ	ØØØ"'ô
€Bð
 ‡F�Fˆ2„Jä
�)‰)Ø
 Ð!2Ð 3ð 4Jð 	Jó€Cô 
�‰”z¨Ô	-ñ #Ø
× Ñ Ô"÷#÷ #ñ #ús   ÂBÂB$r)  c                 óT  — t        j                  d«      }|j                  g d¢gg d¢dg¬«      }t        dt	        «       ddgfd	t	        «       d
gfg|| ¬«      }|j                  |«      }t        |t        j                  «      sJ ‚|j                  d¬«       |j                  g d¢g|j                  dg¬«      }|j                  |«      }t        ||j                  «      sJ ‚|j                  «       }t        |j                  |«       t        |j                  |j                  «       y)z2Check column transformer behavior with set_output.r‡   r<  r  ri   ©rž   r‹   rˆ   rÅ   rý  r‰   r  rL  ©r5   é   N)r™   rš   rœ   r	   r  rp   r•   r2   r  Ú
set_outputrž   r5   r;  r   r‹   )r)  r`   r­   rÜ   rz   r¶   Údf_testr"  s           r'   Ú"test_column_transformer_set_outputr_  •  s  € ô 
×	Ñ	˜XÓ	&€BØ	�‰’|�nÒ.BÈ2È$ˆÓ	O€BÜ	Ø
”>Ó# c¨3 ZÐ	0°8¼^Ó=MÐPSÈuÐ2UÐVØØ";ô
€Bð
 ×Ñ˜rÓ"€GÜ�gœrŸz™zÔ*Ð*Ð*à‡M�M˜H€MÔ%à�l‰lšL˜>°2·:±:ÀbÀTˆlÓJ€GØ�l‰l˜7Ó#€GÜ�g˜rŸ|™|Ô,Ð,Ð,à×0Ñ0Ó2ÐÜ�w—‘Ð(9Ô:Ü�w—}‘} g§m¡mÕ4r*   c                 ó®  — t        j                  d«      }|j                  |j                  g d¢d¬«      |j                  g d¢d¬«      g d¢g d¢|j                  d	|j                  d
gd¬«      dœ«      }t        dt        dd¬«      dgfdt        «       dgfg| d¬«      j                  d¬«      }|r|j                  |«      }n |j                  |«      j                  |«      }t        ||j                  «      sJ ‚t        |j                  |j                  «       «       ddddddddœ}|j                   j#                  «       D ]  \  }}|||   k(  rŒJ ‚ y)z6Check ColumnTransformer outputs mixed types correctly.r‡   ©ÚdogÚcatÚsnakerÄ  rÔ   )ÚgreenÚblueÚredrã   ©gffffffö?gÍÌÌÌÌÌ @gš™™™™™@©r\  é(   ri   r\  éd   ÚInt32)ÚpetÚcolorÚageÚheightÚdistanceÚcolor_encodeFÚint8©râ   rÕ   rn  ro  rL  r[  Úfloat64Úint64)Ú
color_blueÚcolor_greenÚ	color_redro  rm  rp  rq  N)r™   rš   rœ   r–   ÚNAr	   r   r   r]  rp   r(   r5   r•   r   rž   r;  ÚdtypesÚitems)	r`   rp   r­   rÜ   rz   r¶   Úexpected_dtypesrÁ   rÕ   s	            r'   Ú&test_column_transform_set_output_mixedr~  ®  si  € ô 
×	Ñ	˜XÓ	&€BØ	�‰à—9‘9Ò4¸J�9ÓGØ—Y‘YÒ7¸x�YÓHÚ"Ú"ØŸ	™	 2 r§u¡u¨cÐ"2¸'˜	ÓBñ	
ó
€Bô 
ð Ü¨E¸Ô@Ø�	ðð
 ”NÓ$ u gÐ.ð	
ð Ø"'ô
÷ �j˜8€jÓ$ð ñ Ø×"Ñ" 2Ó&‰à—&‘&˜“*×&Ñ& rÓ*ˆä�g˜rŸ|™|Ô,Ð,Ð,Ü�w—‘¨×(@Ñ(@Ó(BÔCð ØØØØØØñ€Oð —n‘n×*Ñ*Ó,ò -‰
ˆˆUØ˜¨Ñ,Ó,Ð,Ð,ñ-r*   c                 ó  — t        j                  d«      }|j                  |j                  g d¢d¬«      g d¢g d¢dœ«      }t	        dt        d	d
¬«      dgfdt        «       dgfg| d	¬«      }|j                  |«      }t        |t        j                  «      sJ ‚|j                  dk(  sJ ‚|j                  d¬«       |j                  |«      }d
d
d
dddœ}|j                  j                  «       D ]  \  }}|||   k(  rŒJ ‚ y )Nr‡   ra  rÄ  rÔ   rh  ri  )rm  ro  rp  rr  FÚint16rt  rm  ro  rL  ru  r[  rv  )Úpet_catÚpet_dogÚ	pet_snakerp  ro  )r™   rš   rœ   r–   r	   r   r   rp   r•   r2   r  rÕ   r]  r5   r{  r|  )	r`   r­   rÜ   rz   r¶   r  r}  rÁ   rÕ   s	            r'   Ú.test_column_transform_set_output_after_fittingr„  Ý  s   € ä	×	Ñ	˜XÓ	&€BØ	�‰à—9‘9Ò4¸J�9ÓGÚ"Ú"ñ	
ó
€Bô 
ð Ü¨E¸ÔAØ�ðð
 ”NÓ$ u gÐ.ð	
ð Ø"'ô
€Bð ×Ñ˜rÓ"€GÜ�gœrŸz™zÔ*Ð*Ð*Ø�=‰=˜IÒ%Ð%Ð%à‡M�M˜H€MÔ%Ø—‘˜bÓ!€JàØØØØñ€Oð !×'Ñ'×-Ñ-Ó/ò -‰
ˆˆUØ˜¨Ñ,Ó,Ð,Ð,ñ-r*   c                   ó,   — e Zd Zdd„Zdd„Zdd„Zdd„Zy)ÚPandasOutTransformerc                 ó   — || _         y r!   ©Úoffset)r$   r‰  s     r'   rC   zPandasOutTransformer.__init__		  s	   € Øˆ�r*   Nc                 ó`   — t        j                  d«      }t        ||j                  «      sJ ‚| S ©Nr‡   )r™   rš   r•   rœ   ©r$   r%   r&   r­   s       r'   r(   zPandasOutTransformer.fit	  s+   € Ü× Ñ  Ó*ˆÜ˜!˜RŸ\™\Ô*Ð*Ð*Øˆr*   c                 óz   — t        j                  d«      }t        ||j                  «      sJ ‚|| j                  z
  S r‹  )r™   rš   r•   rœ   r‰  rŒ  s       r'   r5   zPandasOutTransformer.transform	  s4   € Ü× Ñ  Ó*ˆÜ˜!˜RŸ\™\Ô*Ð*Ð*Ø�4—;‘;‰Ðr*   c                 ó   — | S r!   r"   )r$   r5   s     r'   r]  zPandasOutTransformer.set_output	  s	   € ð ˆr*   )rÖ   r!   )r7   r8   r9   rC   r(   r5   r]  r"   r*   r'   r†  r†  	  s   „ óóó
ô
r*   r†  z;trans_1, expected_verbose_names, expected_non_verbose_namesrê   rˆ  Útrans_0__feat1Útrans_1__feat0Úfeat1Úfeat0c                 óZ  — t        j                  d«      }|j                  g d¢g d¢dœ«      }t        dt	        d¬«      dgfd	| d
gfg«      }|j                  |«      }t        |t        j                  «      sJ ‚t        j                  t        d¬«      5  |j                  «        ddd«       |j                  d¬«       |j                  |«      }t        |j                  |«       |j                  d¬«       |j                  |«      }t        |j                  |«       y# 1 sw Y   Œ|xY w)z½Check that set_config(transform="pandas") is compatible with more transformers.

    Specifically, if transformers returns a DataFrame, but does not define
    `get_feature_names_out`.
    r‡   )rÖ   rê   ç      @)rê   r”  rì   )r’  r‘  Útrans_0r”  rˆ  r‘  Útrans_1r’  z!not provide get_feature_names_outrØ   Nr[  F©r)  )r™   rš   rœ   r	   r†  rp   r•   r2   r  rÛ   r<  r;  r]  r   rž   r.  )	r–  Úexpected_verbose_namesÚexpected_non_verbose_namesr­   rŸ   rz   Ú
X_trans_npÚX_trans_df0ÚX_trans_df1s	            r'   Ú;test_transformers_with_pandas_out_but_not_feature_names_outr�  	  s  € ô8 
×	Ñ	˜XÓ	&€Bà�<‰<¢/ºOÑLÓM€DÜ	àÔ,°CÔ8¸7¸)ÐDØ˜ ' Ð+ð	
ó
€Bð ×!Ñ! $Ó'€JÜ�j¤"§*¡*Ô-Ð-Ð-ô 
�‰”~Ð-PÔ	Qñ #Ø
× Ñ Ô"÷#ð ‡M�M˜H€MÔ%Ø×"Ñ" 4Ó(€KÜ�{×*Ñ*Ð,BÔCà‡M�M¨E€MÔ2Ø×"Ñ" 4Ó(€KÜ�{×*Ñ*Ð,FÕG÷#ð #ús   ÂD!Ä!D*Úempty_selectionc                 óŽ  — t        j                  d«      }|j                  ddgddggddg¬«      }t        dd	| fd
t	        «       ddgfgd¬«      }|j                  d¬«       |j                  |«      }t        |j                  ddg«       |j                  d¬«       |j                  |«      }t        |j                  ddg«       y)zkCheck that pandas output works when there is an empty selection.

    Non-regression test for gh-25487
    r‡   rÖ   çš™™™™™@r”  rÅ   rÆ   rª   rÈ   r¬   rÇ   Tr—  r[  Únumerical__aÚnumerical__bFN)
r™   rš   rœ   r	   r   r]  rp   r   rž   r.  )rž  r­   r%   rz   ÚX_outs        r'   Ú"test_empty_selection_pandas_outputr¤  S	  sÉ   € ô 
×	Ñ	˜XÓ	&€Bà
�‰�s˜C�j 3¨ *Ð-¸¸S°zˆÓB€AÜ	à˜M¨?Ð;Øœ.Ó*¨S°#¨JÐ7ð	
ð #'ô
€Bð ‡M�M˜H€MÔ%Ø×Ñ˜QÓ€EÜ�u—}‘} ~°~Ð&FÔGà‡M�M¨E€MÔ2Ø×Ñ˜QÓ€EÜ�u—}‘} s¨C jÕ1r*   c                  óZ  — t        j                  d«      } | j                  ddgddggddgddg¬	«      }t        d
„ d¬«      }t	        dddgfd|dgfg«      }|j                  d¬«       d}t        j                  t        |¬«      5  |j                  |«       ddd«       y# 1 sw Y   yxY w)zmCheck column transformer raises error if indices are not aligned.

    Non-regression test for gh-26210.
    r‡   rÖ   r   r”  rÅ   rÆ   rn  r²   rZ  c                 ó&   — | j                  d¬«      S )NT)r^   )Úreset_indexrE  s    r'   rd   z7test_raise_error_if_index_not_aligned.<locals>.<lambda>y	  s   € �!—-‘- T�-Ó*€ r*   z
one-to-oner!  Únum1r¬   Únum2r[  z—Concatenating DataFrames from the transformer's output lead to an inconsistent number of samples. The output may have Pandas Indexes that do not match.rØ   N)	r™   rš   rœ   r   r	   r]  rÛ   rT   rp   )r­   r%   Úreset_index_transformerrz   rí   s        r'   Ú%test_raise_error_if_index_not_alignedr«  p	  sÄ   € ô
 
×	Ñ	˜XÓ	&€Bà
�‰�s˜C�j 3¨ *Ð-¸¸S°zÈ!ÈQÈˆÓP€AÜ1Ù*¸lôÐô 
à�] S EÐ*ØÐ,¨s¨eÐ4ð	
ó
€Bð ‡M�M˜H€MÔ%ð	&ð ô
 
�‰”z¨Ô	-ñ Ø
×Ñ˜Ô÷÷ ñ ús   ÂB!Â!B*c                  ó¶  — t        j                  d«      } | j                  g d¢g d¢dœ«      }t        t	        «       t        t        ¬«      ft	        «       d¬«      }|j                  d¬«       |j                  |«      }| j                  j                  ||«       |j                  d	¬«       |j                  |«      }t        |t        j                  «      sJ ‚y
)zYCheck that the output is set for the remainder.

    Non-regression test for #26306.
    r‡   )TFTr¤  )rÅ   rÆ   rÅ  FrL  r[  ÚdefaultN)r™   rš   rœ   r   r   r
   r¦   r]  rp   ÚtestingÚassert_frame_equalr•   r2   r  )r­   rÜ   rz   r‰  s       r'   Útest_remainder_set_outputr°  Œ	  s²   € ô 
×	Ñ	˜XÓ	&€BØ	�‰Ò/²iÑ@Ó	A€Bä	 Ü	Ó	Ô2ÄÔFÐGÜ#Ó%Ø"'ô
€Bð
 ‡M�M˜H€MÔ%à
×
Ñ
˜2Ó
€CØ‡J�J×!Ñ! # rÔ*à‡M�M˜I€MÔ&Ø
×
Ñ
˜2Ó
€CÜ�cœ2Ÿ:™:Ô&Ð&Ñ&r*   c                  ó   — t        j                  d«      } t        | d«      st        j                  d«       | j	                  dddgi«      }t        ddgf«      }t        j                  «       5  t        j                  d«       |j                  |«       ddd«       |j                  «       }t        j                  t        d	¬
«      5  |j                  |«       ddd«       |j                  d¬«       |j                  |«       |j                  d¬«       |j                  |j                  d«      «       y# 1 sw Y   Œ¤xY w# 1 sw Y   ŒkxY w)zŒCheck behavior when a tranformer's output contains pandas.NA

    It should raise an error unless the output config is set to 'pandas'.
    r‡   ÚFloat64DtypezfThe issue with pd.NA tested here does not happen in old versions that do not have the extension dtypesrÅ   rø   Nr¬   rL  z set_output\(transform='pandas'\)rØ   r[  r­  g      ð¿)r™   rš   r0   Úskiprœ   r   rN  rO  rP  rp   Úconvert_dtypesrÛ   rT   r]  Úfillna)r­   rÜ   rz   s      r'   Útest_transform_pd_nar¶  ¤	  s  € ô
 
×	Ñ	˜XÓ	&€BÜ�2�~Ô&Ü�‰ð-ô	
ð 
�‰�s˜S $˜KÐ(Ó	)€BÜ	  -°#°Ð!7Ó	8€Bä	×	 Ñ	 Ó	"ñ Ü×Ñ˜gÔ&Ø
×Ñ˜Ô÷ð 
×	Ñ	Ó	€Bô 
�‰”zÐ)LÔ	Mñ Ø
×Ñ˜Ô÷ð ‡M�M˜H€MÔ%Ø×Ñ�RÔØ‡M�M˜I€MÔ&ð ×Ñ�R—Y‘Y˜t“_Õ%÷ð ú÷ð ús   Á.'D8ÃEÄ8EÅEc                  ó^  — t        j                  d«      } t        j                  d«      }t        j                  ddgddgddgg«      }t        j                  ddgddgddgg«      }| j	                  |d	d
g¬«      }|j	                  |d	d
g¬«      }t        t        «       ddgf«      }|j                  |«       |j                  |«      }t        ||«       |j	                  |d	d
g¬«      }| j	                  |d	d
g¬«      }	|j                  |«       |j                  |	«      }
t        |
|«       y)z?Check fitting and transforming on pandas and polars dataframes.r‡   r…   r   r/   r.   rZ   r¦  r²   rÅ   rÆ   rª   )ÚschemaN)
r™   rš   r2   rm   rœ   r   r   r(   r5   r   )r­   ÚplÚ
X_train_npÚ	X_test_npÚ
X_train_pdÚ	X_test_plrz   Ú	out_pl_inÚ
X_train_plÚ	X_test_pdÚ	out_pd_ins              r'   Ú,test_dataframe_different_dataframe_librariesrÂ  Ä	  s  € ä	×	Ñ	˜XÓ	&€BÜ	×	Ñ	˜XÓ	&€BÜ—‘˜A˜q˜6 A q 6¨A¨q¨6Ð2Ó3€JÜ—‘˜1˜a˜& 1 a &¨1¨a¨&Ð1Ó2€Ið —‘˜j°3¸°*�Ó=€JØ—‘˜Y°°S¨z�Ó:€Iä	 ¤%£'¨A¨q¨6Ð!2Ó	3€BØ‡F�Fˆ:Ôà—‘˜YÓ'€IÜ�y )Ô,ð —‘˜j°#°s°�Ó<€JØ—‘˜Y°°c°
�Ó;€IØ‡F�Fˆ:Ôà—‘˜YÓ'€IÜ�y )Õ,r*   c                  óÞ  — t        j                  g d¢g d¢g«      } t        dt        «       ddgfdt        «       ddgfg«      }d}t	        j
                  t        |¬	«      5  |d    d
d
d
«       |j                  | «       |d   |j                  d   u sJ ‚|d   |j                  d   u sJ ‚d}t	        j
                  t        |¬	«      5  |d    d
d
d
«       y
# 1 sw Y   ŒrxY w# 1 sw Y   y
xY w)z(Check __getitem__ for ColumnTransformer.rX   rþ  Út1r   r/   Út2r.   z5ColumnTransformer is subscriptable after it is fittedrØ   Nz0'does_not_exist' is not a valid transformer nameÚdoes_not_exist)
r2   rm   r	   r   r™   rÛ   r
  r(   r4  ÚKeyError)r%   rz   rí   s      r'   Ú"test_column_transformer__getitem__rÈ  Þ	  sê   € ä
�‰’)šYÐ'Ó(€AÜ	˜T¤5£7¨Q°¨FÐ3°d¼E»GÀaÈÀVÐ5LÐMÓ	N€Bà
A€CÜ	�‰”y¨Ô	,ñ Ø
ˆ4Š÷ð ‡F�Fˆ1„IØˆd‰8�r×-Ñ-¨dÑ3Ñ3Ð3Ð3Øˆd‰8�r×-Ñ-¨dÑ3Ñ3Ð3Ð3à
<€CÜ	�‰”x sÔ	+ñ Ø
ÐÒ÷ð ÷ð ú÷ð ús   Á CÃC#ÃC Ã#C,Útransform_outputr­  c                 óÞ  — t        j                  d«      }|j                  t        j                  j                  dd«      «      }t        dt        «       ddgfgd¬«      j                  | ¬	«      }|j                  |«      }|j                  |j                  k(  sJ ‚g d
¢}t        |d«      r|j                  j                  «       |k(  sJ ‚|j                  «       j                  «       |k(  sJ ‚y)záCheck that when `remainder="passthrough"`, inconsistent naming is handled
    correctly by the underlying `FunctionTransformer`.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28232
    r‡   ri   rZ   r  r   r/   r¬   rð  r[  )Ú
scaler__x0Ú
scaler__x1Úremainder__x2Úremainder__x3rž   N)r™   rš   rœ   r2   r›  rœ  r	   r   r]  rp   rÎ   r0   rž   Útolistr;  )rÉ  r­   r%   Úpreprocessorr¶   Úexpected_column_namess         r'   Ú@test_column_transformer_remainder_passthrough_naming_consistencyrÒ  ð	  sÝ   € ô 
×	Ñ	˜XÓ	&€BØ
�‰”R—Y‘Y—_‘_ R¨Ó+Ó,€Aä$Ø¤Ó!1°A°q°6Ð:Ð;Øô÷ �jÐ+€jÓ,ð ð ×(Ñ(¨Ó+€GØ�=‰=˜AŸG™GÒ#Ð#Ð#òÐô ˆw˜	Ô"Ø�‰×%Ñ%Ó'Ð+@Ò@Ð@Ð@Ø×-Ñ-Ó/×6Ñ6Ó8Ð<QÒQÐQÑQr*   r—   c           	      ó\  — t        j                  | «      }|j                  g d¢g d¢g d¢dœ«      }t        ddg d¢fdt	        «       dd	gfd
t        «       ddgfdt	        d„ «      g d¢fgd¬«      j                  | ¬«      }|j                  |«      }t        |j                  «      g d¢k(  sJ ‚y)zâCheck that we properly rename columns when using `ColumnTransformer` and
    selected columns are redundant between transformers.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/28260
    r¤  ©ri   r\  é   ©rk  éÈ   i,  ©Úx1Úx2Úx3rß   r¬   rà   rÙ  rÚ  rT  rÛ  ÚDc                 ó   — t        | g d¬«      S ©Nr/   r˜  r   rE  s    r'   rd   z9test_column_transformer_column_renaming.<locals>.<lambda>!
  ó   € ¬n¸QÀÈÔ.K€ r*   T©r   r)  r[  )ÚA__x1ÚA__x2ÚA__x3ÚB__x1ÚB__x2ÚC__x1ÚC__x3N)
r™   rš   rœ   r	   r   r   r]  rp   r¥   rž   )r—   ÚlibrÜ   ÚtransformerÚdf_transs        r'   Ú'test_column_transformer_column_renamingrë  
  sÆ   € ô ×
Ñ
˜mÓ
,€Cà	�‰šiª|Â?ÑSÓ	T€Bä#à�-Ò!3Ð4ØÔ%Ó'¨$°¨Ð6Ø”.Ó" T¨4 LÐ1ð Ü#Ñ$KÓLÚ"ðð

ð #'ô÷ �j˜=€jÓ)ð ð ×(Ñ(¨Ó,€HÜ�× Ñ Ó!ò &ò ð ñ r*   c           	      ó®  — t        j                  | «      }|j                  g d¢g d¢g d¢dœ«      }t        ddg d¢fdt	        «       dd	gfd
t        «       ddgfdt	        d„ «      g d¢fgd¬«      j                  | ¬«      }t        j                  d«      }t        j                  t        |¬«      5  |j                  |«       ddd«       y# 1 sw Y   yxY w)zzCheck that we raise an error when using `ColumnTransformer` and
    the columns names are duplicated between transformers.r¤  rÔ  rÖ  rØ  rß   r¬   rà   rÙ  rÚ  rT  rÛ  rÜ  c                 ó   — t        | g d¬«      S rÞ  r   rE  s    r'   rd   zGtest_column_transformer_error_with_duplicated_columns.<locals>.<lambda>C
  rß  r*   Frà  r[  a   Duplicated feature names found before concatenating the outputs of the transformers: ['x1', 'x2', 'x3'].
Transformer A has conflicting columns names: ['x1', 'x2', 'x3'].
Transformer B has conflicting columns names: ['x1', 'x2'].
Transformer C has conflicting columns names: ['x1', 'x3'].
rØ   N)r™   rš   rœ   r	   r   r   r]  r  r  rÛ   rT   rp   )r—   rè  rÜ   ré  r  s        r'   Ú5test_column_transformer_error_with_duplicated_columnsrî  3
  sÛ   € ô ×
Ñ
˜mÓ
,€Cà	�‰šiª|Â?ÑSÓ	T€Bä#à�-Ò!3Ð4ØÔ%Ó'¨$°¨Ð6Ø”.Ó" T¨4 LÐ1ð Ü#Ñ$KÓLÚ"ðð

ð #(ô÷ �j˜=€jÓ)ð ô �i‰ið	Gó€Gô 
�‰”z¨Ô	1ñ &Ø×!Ñ! "Ô%÷&÷ &ñ &ús   Â0CÃCz1.3zrequires joblib >= 1.3)Úreasonc                  ón  — t         j                  j                  d«      j                  d¬«      } t	        d¬«      }t        d|dgfgd¬«      }t        j                  d	d
¬«      5  |j                  | «      }ddd«       t        t	        «       j                  | dd…dgf   «      «       y# 1 sw Y   Œ5xY w)z|Check that ColumnTransformer works in parallel with joblib's auto-memmapping.

    non-regression test for issue #28781
    r   ru  )ÚsizeF)r�   r  r.   )r   r  Úlokyr/   )Ú
max_nbytesN)
r2   r›  ÚRandomStateÚuniformr   r	   ÚjoblibÚparallel_backendrp   r   )r%   r  ré  ÚXts       r'   Ú#test_column_transformer_auto_memmaprù  T
  s§   € ô 	�	‰	×Ñ˜aÓ ×(Ñ(¨fÐ(Ó5€Aä Ô'€Fä#Ø ¨!¨Ð-Ð.Øô€Kô
 
×	 Ñ	  °AÔ	6ñ *Ø×&Ñ& qÓ)ˆ÷*ô �BœÓ(×6Ñ6°qº¸Q¸C¸±yÓAÕB÷*ð *ús   Á%B+Â+B4)r5   rp   r(   c                 ó6  — t        j                  g d¢g d¢g«      j                  }g d¢}t        dt	        «       dgfg«      j                  ||«      }t        j                  t        d¬«      5   t        || «      dggdgd	¬
«       ddd«       y# 1 sw Y   yxY w)z�Test that the right error message is raised when metadata is passed while
    not supported when `enable_metadata_routing=False`.rX   rY   r¤  r]   r   z1is only supported if enable_metadata_routing=TruerØ   r/   rÅ   )Úsample_weightÚpropN)
r2   rm   r4   r	   r   r(   r™   rÛ   rT   r1   )r†  r%   r&   Útrss       r'   Ú*test_routing_passed_metadata_not_supportedrþ  p
  s�   € ô
 	�‰’)šYÐ'Ó(×*Ñ*€AÚ€AÜ
˜g¤u£w°°Ð4Ð5Ó
6×
:Ñ
:¸1¸aÓ
@€Cä	�‰ÜÐMô
ñ Að 	Œ��VÓ˜q˜c˜U°1°#¸CÕ@÷A÷ Añ Aús   Á-BÂB)Úenable_metadata_routingc                 ó¾  — t        j                  g d¢g d¢g«      j                  }g d¢}t        «       }dgd}}t	        dt        |¬«      j                  dd¬	«      j                  dd¬	«      d
gfg«      }| dk(  r*|j                  ||||¬	«       |j                  |||¬	«       n t        || «      ||||¬	«       t        |«      sJ ‚|D ]  }t        || | ||¬«       Œ y)z>Test that metadata is routed correctly for column transformer.rX   rY   r¤  r/   rÅ   r]   )ÚregistryT©rû  Úmetadatar   r5   )Úobjr†  Úparentrû  r  N)r2   rm   r4   r   r	   r   Úset_fit_requestÚset_transform_requestr(   r5   r1   rF   r   )r†  r%   r&   r  rû  r  rý  Ú_trss           r'   Ú,test_metadata_routing_for_column_transformerr	  
  sñ   € ô 	�‰’)šYÐ'Ó(×*Ñ*€AÚ€AÜ‹{€HØ ˜c 3�8€MÜ
ð Ü$¨hÔ7ß ‘¨t¸d�ÓCß&Ñ&°TÀDÐ&ÓIØ�ðð	
ó
€Cð �ÒØ�‰��1 M¸HˆÔEØ�‰�a }¸xˆÕHàŒ��VÓ˜Q °ÈÕRäˆxŒ=Ðˆ=Øò 
ˆÜØØØØ'Øö	
ñ
r*   c                  ó@  —  G d„ dt         «      } t        j                  g d¢g d¢g«      j                  }g d¢}dgd}}t	        d | «       j                  d	d	¬
«      j                  d	d	¬
«      dgfg«      }|j                  ||||¬
«       |j                  ||||¬
«       y)zUTest metadata routing when the sub-estimator doesn't implement
    ``fit_transform``.c                   ó   — e Zd Zdd„Zdd„Zy)ú>test_metadata_routing_no_fit_transform.<locals>.NoFitTransformNc                 ó   — |sJ ‚|sJ ‚| S r!   r"   )r$   r%   r&   rû  r  s        r'   r(   zBtest_metadata_routing_no_fit_transform.<locals>.NoFitTransform.fitª
  s   € Ù Ð �=ÙˆO�8ØˆKr*   c                 ó   — |sJ ‚|sJ ‚|S r!   r"   )r$   r%   rû  r  s       r'   r5   zHtest_metadata_routing_no_fit_transform.<locals>.NoFitTransform.transform¯
  s   € Ù Ð �=ÙˆO�8ØˆHr*   )NNN)NNr6   r"   r*   r'   ÚNoFitTransformr  ©
  s   „ ó	ô
	r*   r  rX   rY   r¤  r/   rÅ   r]   Tr  r   N)	r   r2   rm   r4   r	   r  r  r(   rp   )r  r%   r&   rû  r  rý  s         r'   Ú&test_metadata_routing_no_fit_transformr  ¤
  s¨   € ô
	œô 	ô 	�‰’)šYÐ'Ó(×*Ñ*€AÚ€AØ ˜c 3�8€MÜ
ð ÙÓ ß ‘¨t¸d�ÓCß&Ñ&°TÀDÐ&ÓIØ�ðð	
ó
€Cð ‡G�GˆAˆq ¸€GÔAØ×Ñ�a˜¨-À(ÐÕKr*   c                 ó¤  — t        j                  g d¢g d¢g«      j                  }g d¢}dgd}}t        dt	        «       dgfg«      }d| › �}t        j                  t        t        j                  |«      ¬	«      5  | d
k(  r'|j                  ||«       |j                  |||¬«       n t        || «      ||||¬«       ddd«       y# 1 sw Y   yxY w)zCTest that the right error is raised when metadata is not requested.rX   rY   r¤  r/   rÅ   r]   r   zw[sample_weight, metadata] are passed but are not explicitly set as requested or not requested for ConsumingTransformer.rØ   r5   r  N)r2   rm   r4   r	   r   r™   rÛ   rT   r  r  r(   r5   r1   )r†  r%   r&   rû  r  rý  Úerror_messages          r'   Ú2test_metadata_routing_error_for_column_transformerr  Ç
  sË   € ô 	�‰’)šYÐ'Ó(×*Ñ*€AÚ€AØ ˜c 3�8€MÜ
˜gÔ';Ó'=À¸sÐCÐDÓ
E€Cð	6Ø6<°Xð	?ð ô 
�‰”z¬¯©°=Ó)AÔ	Bñ WØ�[Ò Ø�G‰G�A�qŒMØ�M‰M˜!¨=À8ˆMÕLà ŒG�C˜Ó   A°]ÈXÕV÷W÷ Wñ Wús   Á:ACÃCc                  óT   — t        dt        «       dgfg«      } | j                  «        y )Nr]   r   )r	   r   Úget_metadata_routingr�  s    r'   Ú+test_get_metadata_routing_works_without_fitr  Ü
  s*   € ô 
˜WÔ&:Ó&<¸q¸cÐBÐCÓ	D€BØ×ÑÕr*   c                  óì   — t        dt        «       dgfgt        «       j                  d¬«      j	                  d¬«      ¬«      } | j                  «       }|j                  ddg«      t        dg«      k(  sJ ‚y )Nr]   r   T©r  r_   r(   r  )r	   r   r   r  r  r  ÚconsumesÚset©rz   Úrouters     r'   Ú%test_remainder_request_always_presentr  ä
  sr   € ô 
Ø
”>Ó# a SÐ	)Ð*Ü&Ó(ß	‰ $ˆÓ	'ß	Ñ	¨Ð	Ó	-ô	
€Bð ×$Ñ$Ó&€FØ�?‰?˜5 : ,Ó/´3¸
°|Ó3DÒDÐDÑDr*   c                  óØ   — t        dt        «       j                  d¬«      j                  d¬«      d„ fg«      } | j	                  «       }|j                  ddg«      t        dg«      k(  sJ ‚y )Nr]   Tr  c                 ó   — g S r!   r"   )r%   s    r'   rd   z9test_unused_transformer_request_present.<locals>.<lambda>ü
  s   € ˜"€ r*   r(   r  )r	   r   r  r  r  r  r  r  s     r'   Ú'test_unused_transformer_request_presentr   ñ
  sr   € ô 
ð Ü$Ó&ß ‘¨$�Ó/ß&Ñ&°Ð&Ó5Ùðð	
ó

€Bð ×$Ñ$Ó&€FØ�?‰?˜5 : ,Ó/´3¸
°|Ó3DÒDÐDÑDr*   )šÚ__doc__rÑ  r  rN  Úunittest.mockr   rö  r¢   r2   r™   Únumpy.testingr   Úscipyr   Úsklearnr   Úsklearn.baser   r   Úsklearn.composer	   r
   r   Ú#sklearn.compose._column_transformerr   Úsklearn.exceptionsr   Úsklearn.feature_selectionr   Úsklearn.preprocessingr   r   r   r   Ú%sklearn.tests.metadata_routing_commonr   r   r   Úsklearn.utils._indexingr   Úsklearn.utils._testingr   r   r   r   Úsklearn.utils.fixesr   r   r   r;   r@   rK   rO   r|   r‚   ÚmarkÚparametrizer¡   rm   r°   r·   r¹   rÂ   rÌ   rÑ   rÝ   ræ   rï   rò   rö   r  r  r  r  r  r   r1  r7  r9  r=  r?  rB  rS  r[  rc  ro   rg  rã   rk  ro  rq  rs  rx  rz  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  r  r  Úranger@  rV  rE  rI  rM  rT  rX  r_  r~  r„  r†  r�  r¤  r«  r°  r¶  rÂ  rÈ  rÒ  rë  rî  ÚskipifÚ__version__rù  rþ  r	  r  r  r  r  r   )Úis   0r'   ú<module>r6     s×  ðñó Û 	Û Ý ã Û Û Ý )Ý å "ß 8÷ñ õ
 CÝ -Ý 7÷ó ÷ñ õ
 3÷ó ÷ >ôÐ˜mô ô�-ô ô	D˜ô 	Dô�ô ô-�ô -ò?(òDð" ‡�×ÑÐ+¨k¸8Ð-DÓEñ`9ó Fð`9ðF ‡�×Ñ˜ D¨% =°xÀÐ6IÐÓJØ‡�×ÑØØˆˆ�‰�5˜%�.Ó	! E¨5 >Ð2Ú$ð ó ð
 ‡�×ÑÐ*¨U°D¨MÓ:ñ,:ó ;óó Kð,:ò^(XòVTð> ‡�×Ñ˜¨.Ó9ñWó :ðWò.Jð( ‡�×Ñ˜¨.Ó9ñAó :ðAò2ò,1,òhò"òð  ‡�×Ñ˜ v¨}Ð&=Ó>ñ $ó ?ð $òFò,òJò
ò<%ò."òb6ò(4ò#ò2ò6-"ðd ‡�×ÑØà
ˆÒ"Ð#Ø
ˆˆqˆcˆ
Ù	™Ð&ðóð ‡�×Ñ˜ u¨d mÓ4ñ0ó 5óð0ð* ‡�×ÑØ,à	�ˆu�s�e˜a˜SÐ!Ø	��˜�u˜s˜eÐ$Ø	Ò#Ò%9¸A¸3Ð?Ø	Ò$Ò&:Ò<PÐQð	óñ"!óð"!òJ0ð ‡�×ÑØà
ˆˆqˆcˆ
Ø	ˆ�‰�1�#‹˜˜ÐÙ	ˆq�!‹�q�cÐØ	ˆ�‰�4˜�-Ó	  5¨$ -Ð0ð	óñ4óð4ð$ ‡�×ÑØà
ˆˆqˆcˆ
Ù	ˆq�!‹�q�cÐØ	ˆ�‰�4˜�-Ó	  5¨$ -Ð0Ø
ˆ�X�JÐØ	�h�ZÐ Ø	ˆ�‰�7�)Ó	˜x˜jÐ)Ø	ˆ�‰�7�) 6Ô	*¨X¨JÐ7Ù	ˆt�WÓ	 ˜zÐ*Ù	ˆw˜Ó	  8 *Ð-ð
óñ4óð4ð. ‡�×ÑØà
ˆˆq�!ˆfˆØ	ˆ�‰�1�#‹˜˜A˜ÐÙ	ˆq�!‹�q˜!�fÐØ	ˆ�‰Ò&Ó	'Ò)<Ð=ð	óñ4óð4ò*2ò8ð  ‡�×Ñ˜¨.Ó9ñ8ó :ð8ð. ‡�×Ñ˜¨.Ó9ñ8ó :ð8ò(+"ò\0ð ‡�×ÑØ
ˆIÐñ Ø™E›G a SÐ)¨H±e³gÀ¸sÐ+CÐDÙ%›-ôð
Xð
	
ñ Ø™E›G a SÐ)¨H±e³gÀ¸sÐ+CÐDØ'ôð
Xð
	
ñ Ø™E›G a SÐ)¨H°f¸q¸cÐ+BÐCØ'ôð
Xð		
ñ Ø™E›G a SÐ)¨H°mÀaÀSÐ+IÐJØ'ôð
Xð
	
ñ  ©%«'°A°3Ð7Ð8ÀMÔRðXð	
ñ Ø™E›G a SÐ)¨H±e³gÀ¸sÐ+CÐDÐPVôðUð	
ñ  ©%«'°A°3Ð7Ð8ÀFÔKØPð	
ðy@óCðH ‡�×Ñ˜ E¨?Ð#;Ó<ñ
5ó =óICðJ
5òò
)ò /ò(	Eð ‡�×Ñ˜¨¯
©
Ð'D°^Ð'DÓEñ	#ó Fð	#ò"ð ‡�×ÑØ%à
�[Ð	! 4¨¯©°DÐ9Ø
�[Ð	! 4¨¨vÐ6Ø
�[Ð	! 4¨#¨u¨°tÐ<Ø
ˆ�d˜V˜H dÐ+Ø
ˆ�d˜F DÐ)Ø
ˆ˜˜e TÐ*Ø
ˆ˜ §	¡	˜{¨DÐ1Ø
ˆ�d˜S˜E 4Ð(Ø
ˆ�j 2§9¡9 +¨tÐ4Ø
�yÐ	! ;°°dÐ;Ø
ˆ�h  s eÐ,Ø	ˆV�U˜DÐ!Ú	,¨d°R·Y±YÀÐ4GÈÐNðóñ$-ó%ð$-ò&*ò>ò>ð$ ‡�×ÑØØˆˆ�‰�"˜CÔ	 ¡,Ð/Ú%ð ó ñ
óð
ð$ ‡�×ÑØà	
ˆÙØ	ˆÙØ	�ˆÙðó
ñDó
ðDð ‡�×ÑØ�!�‘m e¨T ]Ñ4KÐLóñBóðBð ‡�×Ñ˜ }±nÓ6FÐ&GÓHñ	7ó Ið	7ò-ð ‡�×Ñ˜ }±nÓ6FÐ&GÓHñ7ó Ið7ð0 ‡�×Ñ˜ }±nÓ6FÐ&GÓHñ:ó Ið:ð ‡�×ÑÐ+Ò-FÓGØ‡�×Ñ˜¡u£w°¸vÐ&FÓGñ!"ó Hó Hð!"òH4òD0ô(�Uô ð ‡�×ÑØ-ð ™>Ó+¨c°3¨ZÐ8Ø˜=¨3¨%Ð0ðð ÚSð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=¨3¨%Ð0ðð Ú3ð	
ð ™>Ó+¨c¨UÐ3Ø˜6 C 5Ð)ðð Ú9ð	
ð ™>¨6°6Ð*:Ó;º_ÐMðð Ú<ð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=¨3¨%Ð0ðð Ú3ð	
ð ™>¹eÀA»hÖ*G¸¨S°°ª9Ò*GÓHÈ3È%ÐPØ™>¹eÀA»hÖ*G¸¨S°°ª9Ò*GÓHÈ3È%ÐPðð òð	
ð$ ˜6 C 5Ð)ðð Øð	
ð ™>Ó+©U°1°a«[Ð9ðð Ø˜+Ð&ð	
ð ™>Ó+¨c¨UÐ3Ø˜6¡5¨¨A£;Ð/ðð Ú9ð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°1«+Ð6ðð ÚSð	
ð ™>Ó+©U°3¸«_Ð=ðð Ø˜+Ð&ð	
ð ™>Ó+¨c¨UÐ3Ø˜6¡5¨¨c£?Ð3ðð Ø˜.Ð)ð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°S«/Ð:ðð òð	
ðKtówñp.óqwðp.ð ,°sð ,Àsó ,ð7°#ð 7À#ó 7ð ‡�×ÑØHð ™>Ó+¨c°3¨ZÐ8Ø˜=¨3¨%Ð0ðð Ø2Ú9ð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=¨3¨%Ð0ðð Ø/Ú0ð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°S«/Ð:ðð Ø-òð	
ð'#ó&ñN.óO&ðN.ð& ‡�×ÑØ-ð ™>Ó+¨c°3¨ZÐ8Ø˜=¨3¨%Ð0ðð Ú ð	
ð ™>¨3¨%Ó0°3¸°*Ð=Ø˜=¨3¨%Ð0ðð Ø�#ˆJð	
ð ™>Ó+¨c¨UÐ3Ø˜6 C 5Ð)ðð Úð	
ð ™>¨6°6Ð*:Ó;º_ÐMðð Ú!ð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=¨3¨%Ð0ðð Úð	
ð ™>¹eÀA»hÖ*G¸¨S°°ª9Ò*GÓHÈ3È%ÐPØ™>¹uÀQ»xÖ*H¸!¨T°!°ª:Ò*HÓIÈCÈ5ÐQðð Ú=ð	
ð ˜6 C 5Ð)ðð Øð	
ð ™>Ó+©U°1°a«[Ð9Ø˜6 C 5Ð)ðð Úð	
ð ™>Ó+¨c¨UÐ3Ø˜6¡5¨¨A£;Ð/ðð Úð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°1«+Ð6ðð Ú ð	
ð ™>Ó+©U°3¸«_Ð=Ø˜6 C 5Ð)ðð Úð	
ð ™>Ó+¨c¨UÐ3Ø˜6¡5¨¨c£?Ð3ðð Ø�#ˆJð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°S«/Ð:ðð Ú ð	
ð ™>Ó+¨c°3¨ZÐ8Ø˜=©%°°S«/Ð:ðð Úð	
ðOoórñf.ógrðf.ð" ‡�×ÑØ0ð ™>Ó+¨c¨UÐ3Ø˜=¨3¨%Ð0ðð Øð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=¨3¨%Ð0ðð Øð	
ð ™>¨3¨%Ó0°3°%Ð8Ø˜=¨3¨%Ð0ðð Øð	
ð ™>¨3¨%Ó0°3°%Ð8Ø˜6 C 5Ð)ðð Øð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=¨3°¨*Ð5ðð Øð	
ð ™>¨3¨%Ó0°3°%Ð8Ø˜=¨3¨%Ð0Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=¨3¨%Ð0Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð ™>¹eÀA»hÖ*G¸¨S°°ª9Ò*GÓHÈ3È%ÐPØ™>¹eÀA»hÖ*G¸¨S°°ª9Ò*GÓHÈ3È%ÐPðð Ø;ð	
ð ™>¨3°¨*Ó5±u¸QÀ³{ÐCØ˜=¨3¨%Ð0Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=©%°°1«+Ð6Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð ™>¨3°¨*Ó5±u¸SÀ#³ÐGØ˜=¨3¨%Ð0Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð ™>¨3°¨*Ó5¸°uÐ=Ø˜=©%°°S«/Ð:Ø™>¨3¨%Ó0°3°%Ð8ðð
 Øð	
ð}gójñV#óWjðV#ð, ‡�×ÑÐ4°t¸U°mÓDØ‡�×Ñ˜ v¨}Ð&=Ó>ñ5ó ?ó Eð5ð. ‡�×Ñ˜ v¨}Ð&=Ó>Ø‡�×Ñ˜¨4°¨-Ó8ñ*-ó 9ó ?ð*-ðZ ‡�×Ñ˜ v¨}Ð&=Ó>ñ%-ó ?ð%-ôT˜=ô ð( ‡�×ÑØAñ !¨Ô,ØÐ/Ð0Ø�gÐð	
ð ØÐØˆIð	
ð ØÐ/Ð0Ø�gÐð	
ðóñ( Hó)ð( HðF ‡�×ÑØØˆˆ�‰�5˜%�.Ó	! E¨5 >Ð2Ú$ð ó ñ
2óð
2ò0ò8'ò0&ò@-ò4ð$ ‡�×ÑÐ+¨i¸Ð-BÓCñRó DðRð8 ‡�×Ñ˜¨8°XÐ*>Ó?ñ"ó @ð"ðJ ‡�×Ñ˜¨8°XÐ*>Ó?ñ&ó @ð&ð@ ‡�×ÒÙ�&×$Ò$Ó%©°eÓ(<Ñ<Ø#ð ó ñCó	ðCð0 ‡�×Ñ˜Ò#HÓIñAó JðAð ‡�×Ñ˜Ò#HÓIÙ¨Ô-ñ 
ó .ó Jð 
ñF ¨Ô-ñLó .ðLðD ‡�×Ñ˜Ò#HÓIÙ¨Ô-ñWó .ó JðWñ& ¨Ô-ñó .ðñ ¨Ô-ñ	Eó .ð	Eñ ¨Ô-ñEó .ñEùòA  +HùÚ*GùòR +HùÚ*Hùòl +HùÚ*Gs$   à>~1á ~6è9~;é ðð=
 