o
    toi                      @  s4   d dl mZ d dlZd dlmZ G dd deZdS )    )annotationsN)OpRunAiOnnxMlc                   @  s   e Zd Z				dddZdS )ImputerNc           
      C  s^  |d urt |dkr|}|}n|d urt |dkr|}|}ntdt|tr,t|}t |jdkr;td|j |jd |jd dfvrWtd|jd  d|jd  | }t	|rt
|jd D ]}|t||jd d  }	|	|t	|d d |f |f< qg|fS t
|jd D ]}|t||jd d  }	|	||d d |f |k|f< q|fS )Nr   zMissing are not defined.   z x must be a matrix but shape is    zDimension mismatch z != )len
ValueError
isinstancelistnparrayshape	TypeErrorcopyisnanrangemin)
selfximputed_value_floatsimputed_value_int64sreplaced_value_floatreplaced_value_int64valuesreplaceival r   Z/home/ubuntu/.local/lib/python3.10/site-packages/onnx/reference/ops/aionnxml/op_imputer.py_run   s2   


 zImputer._run)NNNN)__name__
__module____qualname__r   r   r   r   r   r      s    r   )
__future__r   numpyr   ,onnx.reference.ops.aionnxml._op_run_aionnxmlr   r   r   r   r   r   <module>   s   