Ë
    £�Dj1  ã                   óp   — d Z ddlmZ ddlZddlZdd„Zd„ Zd„ Z	d„ Z
dd„Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)z7
Compatibility tools for various data structure inputs
é    )ÚNP_LT_2Nc                 óJ  — ddl m}m} t        | j                  ||f«      st        d«      ‚| j                  j                  �| j                  j                  }nt        j                  | j                  «      }|j                  |«      st        dj                  ||«      «      ‚y )Nr   )ÚDatetimeIndexÚPeriodIndexz0The index must be a DatetimeIndex or PeriodIndexzExpected frequency {}. Got {})Úpandasr   r   Ú
isinstanceÚindexÚ
ValueErrorÚfreqÚfreqstrÚpdÚ
infer_freqÚ
startswithÚformat)Úxr   r   r   Úinferred_freqs        úZC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\statsmodels\tools\data.pyÚ_check_period_indexr   
   s‡   € ß1Ü�a—g‘g ¨{Ð;Ô<ÜÐKÓLÐLà‡w�w‡|�|ÐØŸ™Ÿ™‰äŸ™ a§g¡gÓ.ˆØ×#Ñ# DÔ)ÜÐ8×?Ñ?ÀØ@MóOó Pð 	Pð *ó    c                 ó6   — t        | t        j                  «      S ©N)r   r   Ú	DataFrame©Úobjs    r   Úis_data_framer      s   € Ü�cœ2Ÿ<™<Ó(Ð(r   c                 ó&   — ddl m} t        | |«      S )Nr   )ÚDesignMatrix)Úpatsyr   r   )r   r   s     r   Úis_design_matrixr      s   € Ý"Ü�c˜<Ó(Ð(r   c                 ój   — t        | t        j                  «      xr | j                  j                  d uS r   )r   ÚnpÚndarrayÚdtypeÚnamesr   s    r   Ú_is_structured_ndarrayr%   !   s%   € Ü�cœ2Ÿ:™:Ó&ÒF¨3¯9©9¯?©?À$Ð+FÐFr   c                 óp  — t        | t        j                  «      r@t        j                  | «      }|€—t	        |j
                  d   «      D �cg c]  }d|z  ‘Œ	 }}nnt        | «      r5| j                  «       } | j                  }| j                  }| j                  }n.t        dj                  t        | «      j                  ¬«      «      ‚t        |t        «      st        |«      }t!        |«      |j
                  d   k7  rt#        d«      ‚|�"t!        |«      t!        |«      k7  rt#        d«      ‚|||fS c c}w )aA  
    Convert passed data structure to form required by estimation classes

    Parameters
    ----------
    data : array_like
    colnames : sequence or None
        May be part of data structure
    rownames : sequence or None

    Returns
    -------
    (values, colnames, rownames) : (homogeneous ndarray, list)
    é   zY_%dzCannot handle input type {typ})Útypz;length of colnames does not match number of columns in dataz8length of rownames does not match number of rows in data)r   r!   r"   ÚasarrayÚrangeÚshaper   ÚdropnaÚvaluesÚcolumnsr	   Ú	TypeErrorr   ÚtypeÚ__name__ÚlistÚlenr
   )ÚdataÚcolnamesÚrownamesr-   Úis        r   Úinterpret_datar8   %   s  € ô �$œŸ
™
Ô#Ü—‘˜DÓ!ˆàÐÜ,1°&·,±,¸q±/Ó,BÖC q˜ ›
ÐCˆHÑCÜ	�tÔ	à�{‰{‹}ˆØ—‘ˆØ—<‘<ˆØ—:‘:‰äÐ8ß™¤D¨£J×$7Ñ$7˜Ó8ó:ð 	:ô �h¤Ô%Ü˜“>ˆô ˆ8ƒ}˜Ÿ™ Q™Ò'Üð .ó /ð 	/ð Ð¤ H£´°V³Ò <Üð +ó ,ð 	,ð �8˜XÐ%Ð%ùò/ Ds   ÁD3c                 óŒ   — | j                  t        t        | j                  j                  «      fft
        j                  ¬«      S )N)r0   )ÚviewÚfloatr3   r#   r$   r!   r"   )Úarrs    r   Ústruct_to_ndarrayr=   R   s.   € Ø�8‰8”UœS §¡§¡Ó1Ð3Ð4¼2¿:¹:ˆ8ÓFÐFr   c                 ó~   — t        | «      t        j                  u xr! t        |«      t        j                  u xs |d u S r   )r0   r!   r"   ©ÚendogÚexogs     r   Ú_is_using_ndarray_typerB   V   s5   € Ü�‹Kœ2Ÿ:™:Ð%ò 7Ü�$‹Zœ2Ÿ:™:Ð%Ò5¨°¨ð8r   c                 óz   — t        | t        j                  «      xr  t        |t        j                  «      xs |d u S r   )r   r!   r"   r?   s     r   Ú_is_using_ndarrayrD   [   s1   € Ü�uœbŸj™jÓ)ò ;Ü˜œbŸj™jÓ)Ò9¨T°T¨\ð<r   c                 óB   — ddl m} t        | |«      xs t        ||«      S )Nr   )Údata_klasses)Ústatsmodels.compat.pandasrF   r   )r@   rA   Úklassess      r   Ú_is_using_pandasrI   `   s   € ÝAÜ�u˜gÓ&ÒC¬*°T¸7Ó*CÐDr   c                 óh   — 	 t        j                  | «      } t        j                  |«      }y#  Y yxY w)NTF)r!   r)   r?   s     r   Ú_is_array_likerK   e   s0   € ðÜ—
‘
˜5Ó!ˆÜ�z‰z˜$ÓˆØøðÙús   ‚*- ­1c                 ó>   — t        | «      xr t        |«      xs |d u S r   )r   r?   s     r   Ú_is_using_patsyrM   n   s%   € ä˜UÓ#ò 5Ü˜dÓ#Ò3 t¨t |ð6r   c                 óž   — t         r$t        | t        j                  j                  «      S t        | t        j
                  j                  «      S )z,
    Returns true if data is a recarray
    )r   r   r!   ÚcoreÚrecarrayÚrec)r4   s    r   Ú_is_recarrayrR   t   s3   € õ Ü˜$¤§¡× 0Ñ 0Ó1Ð1ä˜$¤§¡§¡Ó0Ð0r   )ÚM)NN)Ú__doc__Ústatsmodels.compat.numpyr   Únumpyr!   r   r   r   r   r   r%   r8   r=   rB   rD   rI   rK   rM   rR   © r   r   ú<module>rX      sV   ðñõ -ã Û óPò)ò)ò
Gó*&òZGò8ò
<ò
Eò
ò6ó1r   