o
    �¨Êh+  ã                   @   sN  d dl m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mZmZmZ dd„ Zdd	„ Zej d
ddg¡dd„ ƒZdd„ Zdd„ Zdd„ Zejje	dd�dd„ ƒZejje	 dd�dd„ ƒZej dedg d¢d�dfeded ƒd�dfede ed!ƒed!ƒg¡d�dfede ed!ƒd"d#gg¡d�dfg¡d$d%„ ƒZd&d'„ ZdS )(é    )ÚStringIO)Úascii_uppercaseN)ÚPYPY)ÚCategoricalIndexÚ
MultiIndexÚSeriesÚ
date_rangec                  C   sx   d} t  tdƒ¡ t j d¡jdd| td�¡}t|ƒ 	d¡}| 
¡  tƒ }|j|d� ||d	k }tƒ }|j|d� d S )
NiÄ	  Ú
abcdefghijé   r   é
   )ÚsizeÚdtypeÚcategory©ÚbufÚd)ÚnpÚarrayÚlistÚtakeÚrandomÚdefault_rngÚintegersÚintr   ÚastypeÚisnar   Úinfo)ÚnÚdataÚsr   Ús2© r!   úW/var/www/html/env/lib/python3.10/site-packages/pandas/tests/series/methods/test_info.pyÚ'test_info_categorical_column_just_works   s   ÿr#   c                  C   s4   t ddgƒ} tt d¡| d�}tƒ }|j|d� d S )NÚaÚbr
   ©Úindexr   )r   r   r   Úzerosr   r   )Úidxr   r   r!   r!   r"   Útest_info_categorical!   s   r*   ÚverboseTFc                 C   s|   | }t tt|ƒƒ|dd�}tƒ }|j||d� | ¡ }t d¡}|r)|t d¡7 }|t d| ¡ › d�¡7 }||ks<J ‚d S )NÚsth)r'   Úname)r+   r   zw        <class 'pandas.core.series.Series'>
        MultiIndex: 10 entries, ('foo', 'one') to ('qux', 'three')
        z�            Series name: sth
            Non-Null Count  Dtype
            --------------  -----
            10 non-null     int64
            z/        dtypes: int64(1)
        memory usage: z.0+ bytes
        )	r   ÚrangeÚlenr   r   ÚgetvalueÚtextwrapÚdedentÚmemory_usage)Ú%lexsorted_two_level_string_multiindexr+   r'   Úserr   ÚresultÚexpectedr!   r!   r"   Útest_info_series)   s$   ÿÿþÿr8   c                  C   sX   t ddgdd�} tƒ }| j|d� | ¡ }t|  ¡ ƒ}t d|› d�¡}||ks*J ‚d S )Né   r
   Úi8)r   r   zÕ    <class 'pandas.core.series.Series'>
    RangeIndex: 2 entries, 0 to 1
    Series name: None
    Non-Null Count  Dtype
    --------------  -----
    2 non-null      int64
    dtypes: int64(1)
    memory usage: z bytes
    )r   r   r   r0   Úfloatr3   r1   r2   )r   r   r6   Úmemory_bytesr7   r!   r!   r"   Útest_info_memoryI   s   øÿr=   c                  C   sZ   t tj d¡ d¡ƒ} d}tjt|d�� | jdd� W d   ƒ d S 1 s&w   Y  d S )Nr
   ée   zIArgument `max_cols` can only be passed in DataFrame.info, not Series.info)Úmatchr9   )Úmax_cols)	r   r   r   r   Ústandard_normalÚpytestÚraisesÚ
ValueErrorr   )r   Úmsgr!   r!   r"   Útest_info_wide^   s
   "ÿrF   c                  C   sp   g d¢} d}| D ]-}t tj d¡jd|d� |¡ƒ}tƒ }|j|d� | ¡ }|d›d|› �}||v s5J ‚qd S )N)Úint64Úfloat64zdatetime64[ns]ztimedelta64[ns]Ú
complex128ÚobjectÚboolr   r
   )r   r   r   z non-null     )	r   r   r   r   r   r   r   r   r0   )Údtypesr   r   r   r   Úresr-   r!   r!   r"   Útest_info_shows_dtypese   s   	 úrN   z'on PyPy deep=True doesn't change result)Úreasonc                  C   s\   t ddgidgd�} | jddd�| jdd�ksJ ‚t ddgiƒ}|jdd�| ¡ ks,J ‚d S ©Nr$   r9   Úfoor&   T)r'   Údeep©rR   ©r   r3   ©Ús_with_object_indexÚs_objectr!   r!   r"   Ú$test_info_memory_usage_deep_not_pypyy   ó   ÿ
þrX   z(on PyPy deep=True does not change resultc                  C   s\   t ddgidgd�} | jddd�| jdd�ksJ ‚t ddgiƒ}|jdd�| ¡ ks,J ‚d S rP   rT   rU   r!   r!   r"   Ú test_info_memory_usage_deep_pypy„   rY   rZ   zseries, plusr9   )r9   r
   é   r&   ÚABCr[   rQ   Úbarc                 C   s>   t ƒ }| j|d� |rd| ¡ v sJ ‚d S d| ¡ vsJ ‚d S )Nr   ú+)r   r   r0   )ÚseriesÚplusr   r!   r!   r"   Ú test_info_memory_usage_qualified�   s
   ra   c                  C   s¶   d} t tƒ}tjttƒtd| d�gddgd�}ttj 	d¡ 
| | ¡|d�}| d¡}|jj|jjks5J ‚|jd	d
�|jd	d
� ¡ ksEJ ‚|jd	d
� ¡ |jd	d
� }|dk sYJ ‚d S )Néd   Ú20160101)ÚperiodsÚidÚdate)Únamesr
   r&   TrS   iÐ  )r/   r   r   Úfrom_productr   r   r   r   r   r   rA   ÚunstackÚvaluesÚnbytesr3   Úsum)ÚNÚMr'   r   Ú	unstackedÚdiffr!   r!   r"   Ú(test_info_memory_usage_bug_on_multiindex¤   s   þ
 rq   )Úior   Ústringr   r1   Únumpyr   rB   Úpandas.compatr   Úpandasr   r   r   r   r#   r*   ÚmarkÚparametrizer8   r=   rF   rN   ÚxfailrX   rZ   r   rh   r.   ra   rq   r!   r!   r!   r"   Ú<module>   s<    




 þüþ
	