
    EgH              
       *   d dl mZmZ d dlmZ d dlZd dlZd dlZd dlm	Z	m
Z
mZmZmZmZmZmZmZ d dlmZ  G d d          Zej                            d edd	d	           ed	           ed
           ed	d          g          d             ZdS )    )OrderedDictdefaultdict)datetimeN)	NA	DataFrameIndexInterval
MultiIndexPeriodSeries	Timedelta	Timestampc                   
   e Zd Zd Zd Zd Zej                            dg d          d             Z	ej                            de
 ee          eg          d             Zej                            deeg g          d	             Zd
 Zej                            d          ej                            ddddgddgdfddddddddfg          d                         Zej                            ddd fdd fdd fdd fdd fg          d             Zd  Zej                            d!e
d"d#d$dd%d$dd&d$d'fe ed(d"d#d$fd"dd%d$fddd&d$fg          f ee
           ee
d"d#d$dd%d$dd&d$d'          fg          d)             Zd* Zd+ Zej                            d,g d-ef ed.d"d"           ed/dd           ed0dd          gegg d1egg d2egg d3egf          d4             Zej                            d5 ej         d          eg ej!        d6          eg ej"        d7          eg ej#        d8          eg ej$        d9          egf          d:             Z%d; Z&ej                            dd< e'd=d>g           e'd=d>gd?@           e(j)        dAdBg           e(j)        dAdBgdCdDgE          g          ej                            dFdGdHg e'dGdHg           e'dGdHgdI@           e(j)        dJdKg           e(j)        dJdKgdLdMgE          g          dN                         Z*ej                            dg dO          ej                            dP ej!        d"          d" ej!        d          g ej"        d#          d% ej"        d&          g ej"        d#          d ej!        d          g ej"        d#          dQ ej!        d          g ej"        d#          dQg ej!        d          g ej"        d#          dR ej!        d          gdSeeegeeegeeegeeegeeegee+egdSfg d2g dTdAeeegeeegdAfg dUg dVdAeeegeeegdAff          dW                         Z,ej                            dg dX          dY             Z-ej                            dZdd[d\gd"dgdd]ggd^fd_d[d\gd"dgdd]ggd<gd`fg          da             Z.ej                            dZddQd"d<difddQd"d<gifdd(d"gdQgd"gd<ggdbfd_d(d"gdQgd"gd<ggd<gd<gdcfddQd"idQd<igfddQd"idQd<idfg          dd             Z/de Z0df Z1d<S )gTestDataFrameToDictc                 8   t          d          }t          ||g||gd          }t          ||gddgd          }||d||dg}|dd|ddg}|                    d          |k    sJ |                    d          |k    sJ t          ||gd          t          ||gd	          d}t          ||gd          t          ddgd	          d}t	          j        |                    d
          |           t	          j        |                    d
          |           ddg||g||ggdd	gd}ddg|dg|dggdd	gd}	t	          j        |                    d          |           t	          j        |                    d          |	           d S )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
             \/var/www/sysmax/venv/lib/python3.11/site-packages/pandas/tests/frame/methods/test_to_dict.pytest_to_dict_timestampz*TestDataFrameToDict.test_to_dict_timestamp   s;   
 $$T4Ld|DDEE	#4,aV$D$DEE"&T22$T4J4JK(,1"5"5T7J7J!K  	 226FFFFF&&i&88<RRRRR t3///t3///
 

 t3///AS)))!
 !

 	Y..h.??QQQ
##8#446K	
 	
 	

 VD\D$<0Sz
 
 VAYq	*Sz 
  
 	Y..g.>>OOO
##7#335I	
 	
 	
 	
 	
    c                     t          ddgddgdddg          }d}t          j        t          |	          5  |                    d
           d d d            d S # 1 swxY w Y   d S )Nr   r   g      ?g      ?abr   r   z1DataFrame index must be unique for orient='index'matchr   r   r   pytestraises
ValueErrorr"   r%   dfmsgs      r/   /test_to_dict_index_not_unique_with_index_orientzCTestDataFrameToDict.test_to_dict_index_not_unique_with_index_orientG   s     aV3+66sCjIIIA]:S111 	' 	'JJgJ&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   AA #A c                     t          dddgi          }d}t          j        t          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   z orient 'xinvalid' not understoodr7   xinvalidr   r9   r=   s      r/   test_to_dict_invalid_orientz/TestDataFrameToDict.test_to_dict_invalid_orientO   s    aV}%%0]:S111 	* 	*JJjJ)))	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*   AAAr   )dlrspsic                     t          dddgi          }t          j        t          d          5  |                    |           d d d            d S # 1 swxY w Y   d S )Nr   r   r   znot understoodr7   r   r9   )r%   r   r>   s      r/    test_to_dict_short_orient_raisesz4TestDataFrameToDict.test_to_dict_short_orient_raisesU   s     aV}%%]:-=>>> 	& 	&JJfJ%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&s   AAAmappingc                    dddddddd}t          |                              |	          }|                                D ]3\  }}|                                D ]\  }}|||         |         k    sJ 4t          |                              d
|	          }|                                D ]C\  }}|                                D ])\  }}|||         t          |          dz
           k    sJ *Dt          |                              d|	          }|                                D ]3\  }}|                                D ]\  }}|||         |         k    sJ 4t          |                              d|	          }ddgg dddgddgt          j        dggd}t          j        ||           t          |                              d|	          }ddddddt          j        ddg}	t          |t                    sJ t          |          dk    sJ t          ||	          D ]\  }
}t          j        |
|           t          |                              d          }|                                D ]3\  }}|                                D ]\  }}|||         |         k    sJ 4t          |          }||j        d                  |d<   |                    d          }|                                }||j        d                  |d<   |                                D ]3\  }}|                                D ]\  }}|||         |         k    sJ 4d S )Nr   r   )12rO   rP   3)rO   rP   rQ   r   intolistr   r!   r   r         ?       @)r    r   r   r      r   r   duped)r   r"   itemsintnpnanr#   r$   
isinstancerT   lenzipr    copy)r%   rM   r'   recons_datakvk2v2r-   r)   leftrightr>   	comp_datas                 r/   test_to_dictz TestDataFrameToDict.test_to_dict\   s    !"**s31O1OPP	  	**222@@OO%% 	0 	0DAq'')) 0 0B[^B//////0  	**2262HHOO%% 	9 	9DAq'')) 9 9B[^CGGaK8888889  	**228'2JJOO%% 	0 	0DAq'')) 0 0B[^B//////0  	**2272IISz$__3Z#sbfc];
 

 	[.999	**22972KKC  C  &s##

 +t,,,,,;1$$$${,<== 	. 	.KD% u----  	**227;;OO%% 	0 	0DAq'')) 0 0B[_Q//////0 y!!A'7jj))NN$$	&rz!}5	'OO%% 	0 	0DAq'')) 0 0B[_Q//////0	0 	0r1   c                 F   t          t          j                            d                              d                    }d                    ddg          }t          j        t          |          5  |	                    |           d d d            d S # 1 swxY w Y   d S )Nr   )rW   rW   |z unsupported type: <class 'list'>z1to_dict\(\) only accepts initialized defaultdictsr7   rR   )
r   r[   randomdefault_rngstandard_normaljoinr:   r;   	TypeErrorr"   )r%   rM   r>   r?   s       r/   test_to_dict_errorsz'TestDataFrameToDict.test_to_dict_errors   s     ry,,Q//??GGHHhh2D
 
 ]9C000 	% 	%JJGJ$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   2BBBc                     t          g dgg d          }t          j        t                    5  |                                 d d d            d S # 1 swxY w Y   d S )Nr   r   rW   )r4   r4   r5   r    )r   r#   assert_produces_warningUserWarningr"   )r%   r>   s     r/   test_to_dict_not_unique_warningz3TestDataFrameToDict.test_to_dict_not_unique_warning   s     			{OOO<<<'44 	 	JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AAAzignore::UserWarningzorient,expectedrT   r      rW      r   dict)r   r   c                 r    t          g dg dgg d          }|                    |          }||k    sJ d S )Nrs   )   rx   ry   )r   r   r   rt   r   r"   r%   r   expectedr>   results        r/   test_to_dict_not_uniquez+TestDataFrameToDict.test_to_dict_not_unique   sO     			999-GGGF##!!!!!!r1   zorient,item_getterc                     | |         |         S N rE   colidxs      r/   <lambda>zTestDataFrameToDict.<lambda>       3 r1   r   c                     | |         |         S r   r   r   s      r/   r   zTestDataFrameToDict.<lambda>   s    AcF3K r1   c                     | |         |         S r   r   r   s      r/   r   zTestDataFrameToDict.<lambda>   r   r1   r!   c                 \    | d         |         | d                              |                   S )Nr   r    r6   r   s      r/   r   zTestDataFrameToDict.<lambda>   s%    !F)C.99K9KC9P9P*Q r1   r   c                     | |         |         S r   r   r   s      r/   r   zTestDataFrameToDict.<lambda>   s    !C&+ r1   c                     t          ddgddgd          }|                    |          }t           ||dd          t                    sJ t           ||d	d          t                    sJ d S )
Nr   r   g?g?r3   r   r4   r   r5   )r   r"   r]   rZ   float)r%   r   item_getterr>   r   s        r/   test_to_dict_box_scalarsz,TestDataFrameToDict.test_to_dict_box_scalars   s     aV3*55666**++fc155s;;;;;++fc155u=======r1   c                    t          dddddddt          j                  ft          dddd	d
ddt          j                  fg}t          t	          |          dg          }|                    d          }dt          dt          j                  idt          dt          j                  ig}t          j        |d         |d                    t          j        |d         |d                    d S )Ni           5   r   iYX )tzinfo   ry      ir  rE   rt   r   r   z2017-11-18 21:53:00.219225+0000)tzz2017-11-18 22:06:30.061810+0000r   )	r   pytzutcr   rT   r"   r   r#   r$   )r%   r   r>   r   r   s        r/   test_to_dict_tzz#TestDataFrameToDict.test_to_dict_tz   s     dBBAvdhGGGIdBB2uTXFFFH
 tDzzC51119--)=$(KKKL)=$(KKKL
 	VAY444
VAY44444r1   zinto, expectedr   rU   int_col	float_colrV         @)r   r   r   r   c                    t          g dg dd          }|                    d|          }ddg}t          j        |d          |         }t          j        |d          |         }t          j        ||           d S )	Nrs   rU   rV   r   r   r   )r   rS   r   r   r   )r   r"   	from_dictr#   assert_frame_equal)r%   rS   r   r>   r   colss         r/   test_to_dict_index_dtypesz-TestDataFrameToDict.test_to_dict_index_dtypes   s    N 999???KKLL766;'$VG<<<TB&x@@@F
fh/////r1   c                     t          d t          d          D                       }t          |                    d          d                                                   }t          |j                  }||k    sJ d S )Nc                 0    i | ]}t          |          |gS r   )str.0rJ   s     r/   
<dictcomp>zBTestDataFrameToDict.test_to_dict_numeric_names.<locals>.<dictcomp>  s"    666A666r1   rx   r   r   )r   rangesetr"   keysr    r%   r>   r   r   s       r/   test_to_dict_numeric_namesz.TestDataFrameToDict.test_to_dict_numeric_names  sr    66U1XX66677RZZ	**1-224455rz??!!!!!!r1   c                     t          d t          d          D                       }|                    d          d         }d t          d          D             }||k    sJ d S )Nc                     i | ]
}d |d|gS A_rE   r   r   s     r/   r   z9TestDataFrameToDict.test_to_dict_wide.<locals>.<dictcomp>  s$    >>>aaqc>>>r1      r   r   c                     i | ]	}d |d|
S r   r   r   s     r/   r   z9TestDataFrameToDict.test_to_dict_wide.<locals>.<dictcomp>  s"    666aJJJJ666r1   )r   r   r"   r   s       r/   test_to_dict_widez%TestDataFrameToDict.test_to_dict_wide  sj    >>5::>>>??I&&q)665::666!!!!!!r1   z
data,dtype)TTFi  i    r   rs   )XYZc                     t          d|i          }|                    d          }t          fd|D                       sJ d S )Nr4   r   r   c              3   F   K   | ]}t          |d                    u V  dS )r4   N)type)r   recorddtypes     r/   	<genexpr>z@TestDataFrameToDict.test_to_dict_orient_dtype.<locals>.<genexpr>4  s4      >>&4s$$->>>>>>r1   )r   r"   all)r%   r   r   r>   rE   s     `  r/   test_to_dict_orient_dtypez-TestDataFrameToDict.test_to_dict_orient_dtype  sX    ( T{##JJiJ((>>>>A>>>>>>>>>>r1   zdata,expected_dtypei皙?Tz
2005-02-25c                     t          d|idg          }|                    d          }t          |d         d                   }||u sJ d S )Nr4   r   r6   r   r   )r   r"   r   )r%   r   expected_dtyper>   rE   r   s         r/   ,test_to_dict_scalar_constructor_orient_dtypez@TestDataFrameToDict.test_to_dict_scalar_constructor_orient_dtype6  sY     T{1#...JJiJ((ad3i''''''r1   c                     t          dgdgd          }|                                                    d          }ddddg}||k    sJ d S )NrU   g      "@r3   r   r   )r   r4   r5   )r   reset_indexr"   r   s       r/    test_to_dict_mixed_numeric_framez4TestDataFrameToDict.test_to_dict_mixed_numeric_frameH  sa    cU#//00!!)))44c445!!!!!!r1   Naabbccr   r3   )r4   cn1n2)namesr    xyz)r   r   )r   r   z1z2c                     t          j        ddgddgg||          }t          j        |                    d          d          }t	          j        ||           d S )Nr   rW   r   r|   )r    r   tightr   )r   from_recordsr   r"   r#   r   )r%   r   r    r>   	roundtrips        r/   test_to_dict_orient_tightz-TestDataFrameToDict.test_to_dict_orient_tightO  so    * #VaV
 
 

 '

'
(B(B7SSS	
b),,,,,r1   )rz   rT   r!   r   r   r   zdata,expected_typesr4   )r4   )r4   r5   r   rE   ef)r   g@ffffff
@)r   hellorW   )r   worldr   c                   	 t          |          }|                    |          	|dk    rd 	                                D             }n|dk    rd 	                                D             }n]|dv r	fd	d         D             }nD|dk    rd	 t          	          D             }n$|dk    rd
 	                                D             }|D ]9\  }}}|||         |         k    sJ t	          |          ||         |         u sJ :d S )Nrz   c              3   Z   K   | ]&\  }}|                                 D ]\  }}|||fV  'd S r   rY   )r   keyindex_value_maprJ   values        r/   r   zHTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  sg       " "(C / 5 5 7 7" " Au C" " " " " " "r1   rT   c              3   P   K   | ]!\  }}t          |          D ]\  }}|||fV  "d S r   	enumerate)r   r   valuesrJ   r   s        r/   r   zHTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  sc       " "C )& 1 1" " Au C" " " " " " "r1   >   r!   r   c              3   |   K   | ]6}t          d                    D ]\  }}||d         |         |         fV  7dS )r    r   Nr   )r   rJ   jr   r   s       r/   r   zHTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  st       " "'y(9::" " As C*1-." " " " " " "r1   r   r   c              3   Z   K   | ]&\  }}|                                 D ]\  }}|||fV  'd S r   r   r   rJ   r   r   r   s        r/   r   zHTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  c       " "Av"(,,.." " C C" " " " " " "r1   c              3   Z   K   | ]&\  }}|                                 D ]\  }}|||fV  'd S r   r   r   s        r/   r   zHTestDataFrameToDict.test_to_dict_returns_native_types.<locals>.<genexpr>  r   r1   )r   r"   rY   r   r   )
r%   r   r   expected_typesr>   assertion_iteratorrJ   r   r   r   s
            @r/   !test_to_dict_returns_native_typesz5TestDataFrameToDict.test_to_dict_returns_native_typesm  s   d t__F##V" ",2LLNN" " "
 v" "#)<<>>" " "
 )))" " " "" " "
 y  " "!*6!2!2" " "
 w" "!'" " " 0 	9 	9MAsEDIaL((((;;."5a"888888	9 	9r1   )rz   rT   r   r   r   c                     t          ddgddgdddg          }d	}t          j        t          |
          5  |                    |d           d d d            d S # 1 swxY w Y   d S )Nr   r   rW   r|   col1col2row1row2r6   z?'index=False' is only valid when 'orient' is 'split' or 'tight'r7   Fr   r   r9   )r%   r   r>   r?   s       r/   test_to_dict_index_false_errorz2TestDataFrameToDict.test_to_dict_index_false_error  s     AA77?OPPPO]:S111 	3 	3JJfEJ222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3s   AA!$A!zorient, expectedr   r   r|   )r    r   r   )r    r   column_namesc                     t          ddgddgdddg          }|                    |d	
          }t          j        ||           d S )Nr   r   rW   r|   r   r   r   r6   Fr   )r   r"   r#   r$   r~   s        r/   test_to_dict_index_falsez,TestDataFrameToDict.test_to_dict_index_false  sY      AA77?OPPP677
VX.....r1   )r   r    r   )r   r    r   index_namesr   c                 v    t          ddt          gid          }|                    |          }||k    sJ d S )Nr4   r   Int64r   r   )r   r   r"   r~   s        r/   test_to_dict_na_to_nonez+TestDataFrameToDict.test_to_dict_na_to_none  sH    , aW~W5556**!!!!!!r1   c                    t          t          ddgd          dd          }|                    d          }t          |d         d	         t                    sJ t          t          dt
          gd          dd          }|                    d          }t          |d         d	         t                    sJ d S )
Nr   r   r  r  )r4   r   r   r   r   r4   )r   r   r"   r]   rZ   r   )r%   r>   r   s      r/   !test_to_dict_masked_native_pythonz5TestDataFrameToDict.test_to_dict_masked_native_python  s    VQF':::CCDD9--&)C.#.....VQG7;;;!DDEE9--&)C.#.......r1   c                     t          dg di          }d}t          j        t          |          5  |                    di            d d d            d S # 1 swxY w Y   d S )Nr4   rs   zpStarting with pandas version 3.0 all arguments of to_dict except for the argument 'orient' will be keyword-only.r7   r   )r   r#   ru   FutureWarningr"   r=   s      r/   !test_to_dict_pos_args_deprecationz5TestDataFrameToDict.test_to_dict_pos_args_deprecation  s    YYY'((7 	 'SAAA 	& 	&JJy"%%%	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	&rD   )2__name__
__module____qualname__r0   r@   rC   r:   markparametrizerL   rz   r   rT   r   ri   rq   rw   filterwarningsr   r   r   r   r   r   boolr   r   r   rZ   r   r   r[   uint64int64float64bool_
datetime64r   r   r   r
   from_tuplesr   tupler   r   r   r  r  r
  r   r1   r/   r   r      sX	       +
 +
 +
Z' ' '* * * [X'F'F'FGG& & HG& [Y{{4/@/@+(NOO90 90 PO90v [Y{B(?@@
% 
% A@
%   [ 566[Aq6A//0qQ<<!ll;;<	
 " "  76" [445778445QQR556	
	 	> >	 	>5 5 5" [ #$377#$377#$377  <<=<<=<<= 	 D!!'(s;;'(s;;'(s;;  
'	
! !D0 0E! !D0" " "" " " [   $' HT1a((HT1a((HT1a((
  __e$YY__c"	
 "? ?# "? [RYq\\3RXb\\3RZ__e$RXd^^T"R]<(()4	
	 	( (	 	(" " " [E4,E4,T***"J"J
#;<<"J"J
#;D$<PPP	
	 	 [#JE3*E3*3'''"J"Hh#788"J"Hh#7d|LLL	
	 	- -	 		 	(- [>>>  [ #"(1++q("(1++6$"*S//3

3@$"*S//1hbhqkk:$"*S//3<$"*S//C5("(1++>$"*S//6828A;;?  sC..c*s+, ( #( 
 sC. 	 ),,, 
 sCe, 	;'	
* *V&9 &9W* *	 ^&9P [X'U'U'UVV3 3 WV3 [66"2aVaV<LMMN &/VaV,%)F 
	
 / / / [cqT??+,cAt9%&AC5A3-PPQV #uS4&M$(6%)F 	 #qC;/03(T{334	
 (" ") ("/ / /& & & & &r1   r   valr   r   2020r   c                 p    t          d| gi          }|                    d          }d| gi}||k    sJ d S )Nr4   rT   r   r}   )r  r>   r   r   s       r/   test_to_dict_list_pd_scalarsr    sL    
 
C#<	 	 BZZvZ&&FcU|HXr1   )collectionsr   r   r   numpyr[   r:   r   pandasr   r   r   r	   r
   r   r   r   r   pandas._testing_testingr#   r   r  r  r  r   r1   r/   <module>r"     s                     
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
      s& s& s& s& s& s& s& s&l 	IIdAq!!99Q<<!QP     r1   