a
    vDf@                     @  sp   d dl mZ d dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ dZeed	gd
dddZdS )    )annotationsN)	is_scalar)Array)Series)delayed)derived_from)
to_numericZdowncast)Zua_argsraisec                 C  s   |dvrt dt| t}t| t}t| }t|||gsBtd|durX|rltdn|s`|rlt	| j
}|r| jtj	| jd |d|dS |r| jtj	| jd ||d	S |rttj	d
d| |dS dS )z
    Return type depends on input. Delayed if scalar, otherwise same as input.
    For errors, only "raise" and "coerce" are allowed.
    )r	   Zcoercezinvalid error value specifiedzEarg must be a list, tuple, dask.array.Array, or dask.dataframe.SeriesNz/``meta`` is not allowed when input is a scalar.z-to_numericF)tokenmetaZenforce_metadataerrors)namer   r   T)Zpure)r   )
ValueError
isinstancer   r   pd_is_scalarany	TypeErrorKeyErrorpdr   Z_metaZmap_partitions_nameZ
map_blocksr   )argr   r   Z	is_seriesZis_arrayr    r   c/nfs/NAS7/SABIOD/METHODE/ermites/ermites_venv/lib/python3.9/site-packages/dask/dataframe/numeric.pyr      s>    


r   )r	   N)
__future__r   Zpandasr   Zpandas.api.typesr   r   Z
dask.arrayr   Zdask.dataframe.corer   Zdask.delayedr   Z
dask.utilsr   __all__r   r   r   r   r   <module>   s   