U
    Ãmœdò  ã                   @   s   d dl Zddd„ZdS )é    Nc                 C   sÜ   t | tjƒr| jdkr| j} t| ƒ}t| d ƒ}|sDt | d ¡j}tj||f|d�}d}d}g }g }	g }
t	| |ƒD ]N\}}||dd…|f< tj
 |¡}||kr¸| |¡ |}|d7 }qt|	 |¡ qt|dd…d|…f |fS )zò
    construct array with independent columns

    x is either iterable (list, tuple) or instance of ndarray or a subclass
    of it.  If x is an ndarray, then each column is assumed to represent a
    variable with observations in rows.
    é   r   )ÚdtypeNé   )Ú
isinstanceÚnpZndarrayÚndimÚTÚlenZasarrayr   ZzerosÚzipZlinalgZmatrix_rankÚappend)ÚxÚvarnamesr   Z
nvars_origZnobsZxoutÚcountZrank_oldZvarnames_newZvarnames_droppedZkeepindxÚxiÚniZrank_new© r   úQ/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/statsmodels/tools/catadd.pyÚ	add_indep   s*    


r   )N)Únumpyr   r   r   r   r   r   Ú<module>   s   