
    MhH              
          S SK JrJr  S SKJr  S SKrS SKrS SKrS SKJ	r	J
r
JrJrJrJrJrJrJr  S SKJr   " S S5      r\R,                  R/                  S\" SS	S	5      \" S	5      \" S
5      \" S	S5      /5      S 5       rg)    )OrderedDictdefaultdict)datetimeN)	NA	DataFrameIndexInterval
MultiIndexPeriodSeries	Timedelta	Timestampc                   
   \ rS rSrS rS rS r\R                  R                  S/ SQ5      S 5       r
\R                  R                  S\\" \5      \/5      S	 5       r\R                  R                  S\\/ /5      S
 5       rS r\R                  R%                  S5      \R                  R                  SSSS/SS/S.4SSSS.SSS.S.4/5      S 5       5       r\R                  R                  SSS 4SS 4SS 4SS 4SS 4/5      S  5       rS! r\R                  R                  S"\S#S$S%.SS&S%.SS'S%.S(.4\\" S)S#S$S%.4S#SS&S%.4SSS'S%.4/5      4\" \5      \" \S#S$S%.SS&S%.SS'S%.S(.5      4/5      S* 5       rS+ rS, r\R                  R                  S-/ S.Q\4\" S/S#S#5      \" S0SS5      \" S1SS5      /\// S2Q\// S3Q\// S4Q\/45      S5 5       r\R                  R                  S6\ RB                  " S5      \/\ RD                  " S75      \/\ RF                  " S85      \/\ RH                  " S95      \/\ RJ                  " S:5      \/45      S; 5       r&S< r'\R                  R                  SS=\(" S>S?/5      \(" S>S?/S@SA9\)RT                  " SBSC/5      \)RT                  " SBSC/SDSE/SF9/5      \R                  R                  SGSHSI/\(" SHSI/5      \(" SHSI/SJSA9\)RT                  " SKSL/5      \)RT                  " SKSL/SMSN/SF9/5      SO 5       5       r+\R                  R                  S/ SPQ5      \R                  R                  SQ\ RD                  " S#5      S#\ RD                  " S5      /\ RF                  " S$5      S&\ RF                  " S'5      /\ RF                  " S$5      S\ RD                  " S5      /\ RF                  " S$5      SR\ RD                  " S5      /\ RF                  " S$5      SR/\ RD                  " S5      /\ RF                  " S$5      SS\ RD                  " S5      /ST.\\\/\\\/\\\/\\\/\\\/\\,\/ST.4/ S3Q/ SUQSB.\\\/\\\/SB.4/ SVQ/ SWQSB.\\\/\\\/SB.445      SX 5       5       r-\R                  R                  S/ SYQ5      SZ 5       r.\R                  R                  S[SS\S]/S#S/SS^//S_.4S`S\S]/S#S/SS^//S=/Sa.4/5      Sb 5       r/\R                  R                  S[SSRS#S=S.04SSRS#S=/04SS)S#/SR/S#/S=//Sc.4S`S)S#/SR/S#/S=//S=/S=/Sd.4SSRS#0SRS=0/4SSRS#0SRS=0S.4/5      Se 5       r0Sf r1Sg r2Shr3g=)iTestDataFrameToDict   c                    [        S5      n[        X/X/S.5      n[        X/SS/S.5      nXS.XS./nUSS.USS./nUR                  SS9U:X  d   eUR                  SS9U:X  d   e[        X/SS9[        X/S	S9S.n[        X/SS9[        SS/S	S9S.n[        R
                  " UR                  S
S9U5        [        R
                  " UR                  S
S9U5        SS/X/X//SS	/S.nSS/US/US//SS	/S.n	[        R
                  " UR                  SS9U5        [        R
                  " UR                  SS9U	5        g )N20130101AB      recordsorientr   namer   seriesr   )indexdatacolumnssplit)r   r   to_dictr   tmassert_dict_equal)
selftsmp	test_datatest_data_mixedexpected_recordsexpected_records_mixedexpected_seriesexpected_series_mixedexpected_splitexpected_split_mixeds
             Y/var/www/html/env/lib/python3.13/site-packages/pandas/tests/frame/methods/test_to_dict.pytest_to_dict_timestamp*TestDataFrameToDict.test_to_dict_timestamp   s   
 $TL|DE	#4,aV$DE"&2$4JK(,1"5T7J!K  	 26FFFF&&i&8<RRRR 3/3/

 3/AS)!

 	Y..h.?Q
##8#46K	

 V\D<0Sz
 VAYq	*Sz 
 	Y..g.>O
##7#35I	
    c                     [        SS/SS/S.SS/S9nSn[        R                  " [        US	9   UR	                  S
S9  S S S 5        g ! , (       d  f       g = f)Nr   r   g      ?g      ?abr   r   z1DataFrame index must be unique for orient='index'matchr   r   r   pytestraises
ValueErrorr#   r&   dfmsgs      r0   /test_to_dict_index_not_unique_with_index_orientCTestDataFrameToDict.test_to_dict_index_not_unique_with_index_orientG   sN     aV3+6sCjIA]]:S1JJgJ& 211s   A
Ac                     [        SSS/05      nSn[        R                  " [        US9   UR	                  SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r   z orient 'xinvalid' not understoodr9   xinvalidr   r;   r?   s      r0   test_to_dict_invalid_orient/TestDataFrameToDict.test_to_dict_invalid_orientO   sA    aV}%0]]:S1JJjJ) 211s   A
Ar   )dlrspsic                     [        SSS/05      n[        R                  " [        SS9   UR	                  US9  S S S 5        g ! , (       d  f       g = f)Nr   r   r   znot understoodr9   r   r;   )r&   r   r@   s      r0    test_to_dict_short_orient_raises4TestDataFrameToDict.test_to_dict_short_orient_raisesU   s?     aV}%]]:-=>JJfJ% ?>>s   A
Amappingc                    SSS.SSSS.S.n[        U5      R                  US	9nUR                  5        H+  u  pEUR                  5        H  u  pgXsU   U   :X  a  M   e   M-     [        U5      R                  S
US	9nUR                  5        H7  u  pEUR                  5        H  u  pgXsU   [        U5      S-
     :X  a  M   e   M9     [        U5      R                  SUS	9nUR                  5        H+  u  pEUR                  5        H  u  pgXsU   U   :X  a  M   e   M-     [        U5      R                  SUS	9nSS// SQSS/SS/[        R
                  S//S.n[        R                  " X85        [        U5      R                  SUS	9nSSS.SSS.[        R
                  SS./n	[        U[        5      (       d   e[        U5      S:X  d   e[        X95       H  u  p[        R                  " X5        M     [        U5      R                  S5      nUR                  5        H+  u  pEUR                  5        H  u  pgXsU   U   :X  a  M   e   M-     [        U5      nXR                  S      US'   UR                  S5      nUR                  5       nXR                  S      US'   UR                  5        H+  u  pEUR                  5        H  u  pgXsU   U   :X  a  M   e   M-     g )Nr   r   )12rS   rT   3)rS   rT   rU   r   intolistr   r"   r   r         ?       @)r!   r   r    r      r   r   duped)r   r#   itemsintnpnanr$   r%   
isinstancerX   lenzipr!   copy)r&   rQ   r(   recons_datakvk2v2r.   r*   leftrightr@   	comp_datas                 r0   test_to_dict TestDataFrameToDict.test_to_dict\   s    !"*s31OP	  	*222@OO%DA'')^B//// $ &  	*2262HOO%DA'')^CGaK8888 $ &  	*228'2JOO%DA'')^B//// $ &  	*2272ISz$3Z#sbffc];

 	[9	*22972KC C &&s#

 +t,,,,;1$$${=KD  - >  	*227;OO%DA'')_Q//// $ & y!A'7jj)NN$	&zz!}5	'OO%DA'')_Q//// $ &r3   c                    [        [        R                  R                  S5      R	                  S5      5      nSR                  SS/5      n[        R                  " [        US9   UR                  US9  S S S 5        g ! , (       d  f       g = f)Nr   )r[   r[   |z unsupported type: <class 'list'>z1to_dict\(\) only accepts initialized defaultdictsr9   rV   )
r   r_   randomdefault_rngstandard_normaljoinr<   r=   	TypeErrorr#   )r&   rQ   r@   rA   s       r0   test_to_dict_errors'TestDataFrameToDict.test_to_dict_errors   sk     ryy,,Q/??GHhh2D
 ]]9C0JJGJ$ 100s   $A==
Bc                     [        / SQ// SQS9n[        R                  " [        5         UR	                  5         S S S 5        g ! , (       d  f       g = f)Nr   r   r[   )r6   r6   r7   r!   )r   r$   assert_produces_warningUserWarningr#   )r&   r@   s     r0   test_to_dict_not_unique_warning3TestDataFrameToDict.test_to_dict_not_unique_warning   s5     	{O<''4JJL 544s   A
Azignore::UserWarningzorient,expectedrX   r      r[      r   dict)r   r   c                 X    [        / SQ/ SQ// SQS9nUR                  U5      nXB:X  d   eg )Nry   )   r   r   )r   r   r   rz   r   r#   r&   r   expectedr@   results        r0   test_to_dict_not_unique+TestDataFrameToDict.test_to_dict_not_unique   s/     	9-GF#!!!r3   zorient,item_getterc                     X   U   $ N rH   colidxs      r0   <lambda>TestDataFrameToDict.<lambda>   
    r3   r   c                     X   U   $ r   r   r   s      r0   r   r      s
    AF3Kr3   c                     X   U   $ r   r   r   s      r0   r   r      r   r3   r"   c                 <    U S   U   U S   R                  U5         $ )Nr    r!   r8   r   s      r0   r   r      s     !F)C.99K9KC9P*Qr3   r   c                     X   U   $ r   r   r   s      r0   r   r      s
    !&+r3   c                     [        SS/SS/S.5      nUR                  US9n[        U" USS5      [        5      (       d   e[        U" US	S5      [        5      (       d   eg )
Nr   r   g?g?r5   r   r6   r   r7   )r   r#   ra   r^   float)r&   r   item_getterr@   r   s        r0   test_to_dict_box_scalars,TestDataFrameToDict.test_to_dict_box_scalars   sc     aV3*566*+fc15s;;;;+fc15u====r3   c                    [        SSSSSSS[        R                  S94[        SSSS	S
SS[        R                  S94/n[        [	        U5      S/S9nUR                  SS9nS[        S[        R                  S90S[        S[        R                  S90/n[        R                  " US   US   5        [        R                  " US   US   5        g )Ni           5   r   iYX )tzinfo   r      ir  rH   rz   r   r   z2017-11-18 21:53:00.219225+0000)tzz2017-11-18 22:06:30.061810+0000r   )	r   pytzutcr   rX   r#   r   r$   r%   )r&   r    r@   r   r   s        r0   test_to_dict_tz#TestDataFrameToDict.test_to_dict_tz   s     dBBAvdhhGIdBB2uTXXFH
 tDzC519-)=$((KL)=$((KL
 	VAY4
VAY4r3   zinto, expectedr   rY   int_col	float_colrZ         @)r   r   r   r   c                     [        / SQ/ SQS.5      nUR                  SUS9nSS/n[         R                  " USS9U   n[         R                  " USS9U   n[        R                  " XB5        g )	Nry   rY   rZ   r   r   r   )r   rW   r   r   r   )r   r#   	from_dictr$   assert_frame_equal)r&   rW   r   r@   r   colss         r0   test_to_dict_index_dtypes-TestDataFrameToDict.test_to_dict_index_dtypes   sl    N 9?KL76;'$$VG<TB&&x@F
f/r3   c                     [        [        S5       Vs0 s H  n[        U5      U/_M     sn5      n[        UR	                  S5      S   R                  5       5      n[        UR                  5      nX4:X  d   eg s  snf )Nr   r   r   )r   rangestrsetr#   keysr!   r&   rM   r@   r   r   s        r0   test_to_dict_numeric_names.TestDataFrameToDict.test_to_dict_numeric_names  sh    U1X6XAX67RZZ	*1-2245rzz?!!! 7s   A9c                     [        [        S5       Vs0 s H  nSUS 3U/_M     sn5      nUR                  S5      S   n[        S5       Vs0 s H
  nSUS 3U_M     nnX4:X  d   eg s  snf s  snf )N   A_rH   r   r   )r   r   r#   r   s        r0   test_to_dict_wide%TestDataFrameToDict.test_to_dict_wide  sy    5:>:a2aUqc):>?I&q)+0:6:ab1JM:6!!! ?6s   A(A-z
data,dtype)TTFi  i    r   ry   )XYZc                 v   ^ [        SU05      nUR                  SS9n[        U4S jU 5       5      (       d   eg )Nr6   r   r   c              3   D   >#    U  H  n[        US    5      TL v   M     g7f)r6   N)type).0recorddtypes     r0   	<genexpr>@TestDataFrameToDict.test_to_dict_orient_dtype.<locals>.<genexpr>4  s     >A&4s$-As    )r   r#   all)r&   r    r   r@   rH   s     `  r0   test_to_dict_orient_dtype-TestDataFrameToDict.test_to_dict_orient_dtype  s:    ( T{#JJiJ(>A>>>>>r3   zdata,expected_dtypei皙?Tz
2005-02-25c                 j    [        SU0S/S9nUR                  SS9n[        US   S   5      nXRL d   eg )Nr6   r   r8   r   r   )r   r#   r   )r&   r    expected_dtyper@   rH   r   s         r0   ,test_to_dict_scalar_constructor_orient_dtype@TestDataFrameToDict.test_to_dict_scalar_constructor_orient_dtype6  sC     T{1#.JJiJ(ad3i'''r3   c                 ~    [        S/S/S.5      nUR                  5       R                  S5      nSSSS./nX#:X  d   eg )NrY   g      "@r5   r   r   )r   r6   r7   )r   reset_indexr#   )r&   r@   r   r   s       r0    test_to_dict_mixed_numeric_frame4TestDataFrameToDict.test_to_dict_mixed_numeric_frameH  sG    cU#/0!)))4c45!!!r3   Naabbccr   r5   )r6   cn1n2)namesr!   xyz)r   r   )r   r   z1z2c                     [         R                  " SS/SS//UUS9n[         R                  " UR                  SS9SS9n[        R
                  " X45        g )Nr   r[   r   r   )r!   r   tightr   )r   from_recordsr   r#   r$   r   )r&   r   r!   r@   	roundtrips        r0   test_to_dict_orient_tight-TestDataFrameToDict.test_to_dict_orient_tightO  sW    * ##VaV

 ''

'
(B7S	
b,r3   )r   rX   r"   r   r   r   zdata,expected_typesr6   )r6   )r6   r7   r   rH   ef)r   g@ffffff
@)r   hellor[   )r   worldr   c                   ^	 [        U5      nUR                  U5      m	US:X  a  S T	R                  5        5       nOjUS:X  a  S T	R                  5        5       nOLUS;   a  U	4S jT	S    5       nO6US:X  a  S	 [        T	5       5       nOUS:X  a  S
 T	R                  5        5       nW H(  u  pgnXU   U   :X  d   e[	        U5      X7   U   L a  M(   e   g )Nr   c              3   b   #    U  H%  u  pUR                  5         H  u  p4X1U4v   M     M'     g 7fr   r]   )r   keyindex_value_maprM   values        r0   r   HTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  s6      ",:(C / 5 5 7HA  7  ,:   -/rX   c              3   X   #    U  H   u  p[        U5        H  u  p4X1U4v   M     M"     g 7fr   	enumerate)r   r   valuesrM   r   s        r0   r   r     s1      "#1KC )& 1HA  1  #1s   (*>   r"   r   c              3   n   >#    U  H*  n[        TS    5        H  u  p#XTS   U   U   4v   M     M,     g7f)r!   r    Nr   )r   rM   jr   r   s       r0   r   r     sD      "(A'y(9:FA *1-.: /(s   25r   r   c              3   b   #    U  H%  u  pUR                  5         H  u  p4XU4v   M     M'     g 7fr   r   r   rM   r   r   r   s        r0   r   r     s2      "!2IA"(,,.JC "0  !2r   c              3   b   #    U  H%  u  pUR                  5         H  u  p4XU4v   M     M'     g 7fr   r   r   s        r0   r   r     s2      "!/IA"(,,.JC "0  !/r   )r   r#   r]   r   r   )
r&   r   r    expected_typesr@   assertion_iteratorrM   r   r   r   s
            @r0   !test_to_dict_returns_native_types5TestDataFrameToDict.test_to_dict_returns_native_typesm  s    d t_F#V",2LLN"
 v"#)<<>"
 ))""
 y "!*6!2"
 w"!'" 0MAEIaL(((;."5a"8888 0r3   )r   rX   r   r   r   c                     [        SS/SS/S.SS/S9nS	n[        R                  " [        US
9   UR	                  USS9  S S S 5        g ! , (       d  f       g = f)Nr   r   r[   r   col1col2row1row2r8   z?'index=False' is only valid when 'orient' is 'split' or 'tight'r9   Fr   r   r;   )r&   r   r@   rA   s       r0   test_to_dict_index_false_error2TestDataFrameToDict.test_to_dict_index_false_error  sQ     AA7?OPO]]:S1JJfEJ2 211s   A		
Azorient, expectedr  r  r   )r!   r    r   )r!   r    column_namesc                 v    [        SS/SS/S.SS/S9nUR                  US	S
9n[        R                  " XB5        g )Nr   r   r[   r   r  r	  r
  r8   Fr  )r   r#   r$   r%   r   s        r0   test_to_dict_index_false,TestDataFrameToDict.test_to_dict_index_false  sB      AA7?OP67
V.r3   )r   r!   r    )r   r!   r    index_namesr  c                 T    [        SS[        /0SS9nUR                  US9nXB:X  d   eg )Nr6   r   Int64r   r   )r   r   r#   r   s        r0   test_to_dict_na_to_none+TestDataFrameToDict.test_to_dict_na_to_none  s4    , aW~W56*!!!r3   c                    [        [        SS/SS9SS.5      nUR                  SS9n[        US   S	   [        5      (       d   e[        [        S[
        /SS9SS.5      nUR                  SS9n[        US   S	   [        5      (       d   eg )
Nr   r   r  r  )r6   r   r   r   r   r6   )r   r   r#   ra   r^   r   )r&   r@   r   s      r0   !test_to_dict_masked_native_python5TestDataFrameToDict.test_to_dict_masked_native_python  s    VQF':CD9-&)C.#....VQG7;!DE9-&)C.#....r3   c                     [        S/ SQ05      nSn[        R                  " [        US9   UR	                  S0 5        S S S 5        g ! , (       d  f       g = f)Nr6   ry   zpStarting with pandas version 3.0 all arguments of to_dict except for the argument 'orient' will be keyword-only.r9   r   )r   r$   r{   FutureWarningr#   r?   s      r0   !test_to_dict_pos_args_deprecation5TestDataFrameToDict.test_to_dict_pos_args_deprecation  sH    Y'(7 	 ''SAJJy"% BAAs   A
Ar   )4__name__
__module____qualname____firstlineno__r1   rB   rF   r<   markparametrizerO   r   r   rX   r   rm   rv   r}   filterwarningsr   r   r   r   r   r   boolr   r   r   r^   r   r   r_   uint64int64float64bool_
datetime64r   r   r   r
   from_tuplesr   tupler  r  r  r  r  r  __static_attributes__r   r3   r0   r   r      s   +
Z'* [[X'FG& H& [[Y{4/@+(NO90 P90v [[Y{B(?@
% A
% [[ 56[[Aq6A/0qQ<!l;<	
" 7" [[457845QR56	
	>	>5" [[ #$37#$37#$37 <=<=<=	 D!'(s;'(s;'(s;
'	
!D0E!D0"" [[ $' T1a(T1a(T1a(
  e$c"	
"?#"? [[YYq\3XXb\3ZZ_e$XXd^T"]]<()4	
	(	(" [[4,4,T*""J
#;<""J
#;D$<P	
	 [[#J3*3*3'""Hh#78""Hh#7d|L	
	-		(- [[> [[ ((1+q"((1+6**S/3

3@**S/1bhhqk:**S/3<**S/C5"((1+>**S/6288A;? sC..c*s+,( #(
 sC.	 ),
 sCe,	;'	
*V&9W*	^&9P [[X'UV3 W3 [[66"2aVaV<LMN &/VaV,%)F
	
// [[cqT?+,cAt9%&AC5A3-PQV #uS4&M$(6%)F	 #qC;/03(T{34	
(")("/&r3   r   valr   r   2020r   c                 V    [        SU /05      nUR                  SS9nSU /0nX#:X  d   eg )Nr6   rX   r   r   )r/  r@   r   r   s       r0   test_to_dict_list_pd_scalarsr2    s;    
 
C#<	 BZZvZ&FcU|Hr3   )collectionsr   r   r   numpyr_   r<   r   pandasr   r   r   r	   r
   r   r   r   r   pandas._testing_testingr$   r   r#  r$  r2  r   r3   r0   <module>r8     s       
 
 
 s& s&l 	IdAq!9Q<!QPr3   