Файловый менеджер - Редактировать - /home/digitalm/venv/lib/python3.7/site-packages/numpy/lib/__pycache__/nanfunctions.cpython-37.pyc
Назад
B �5�g � � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ej ej dd�Z ddd d ddd dddddddgZdWdd�Zdd� Z dd� ZdXdd�ZdYdd�ZdZd d!�Ze e�ddejfd"d ��Zd[d#d$�Ze e�ddejfd%d��Zd\d&d'�Ze e�d]d(d��Zd^d)d*�Ze e�d_d+d ��Zd`d,d-�Ze e�dddejfd.d��Zdad/d0�Ze e�dddejfd1d��Zdbd2d3�Ze e�dcd4d��Zddd5d6�Z e e �ded7d��Z!dfd8d9�Z"e e"�dddejfd:d��Z#dgd;d<�Z$dhd=d>�Z%did?d@�Z&djdAdB�Z'e e'�dddejfdCd ��Z(dkdDdE�Z)e e)�ddddFejfdGd��Z*dldHdI�Z+e e+�ddddFejfdJd��Z,ddddFejfdKdL�Z-dmdMdN�Z.dndOdP�Z/dodQdR�Z0e e0�ddddejfdSd��Z1dpdTdU�Z2e e2�ddddejfdVd��Z3dS )qa� Functions that ignore NaN. Functions --------- - `nanmin` -- minimum non-NaN value - `nanmax` -- maximum non-NaN value - `nanargmin` -- index of minimum non-NaN value - `nanargmax` -- index of maximum non-NaN value - `nansum` -- sum of non-NaN values - `nanprod` -- product of non-NaN values - `nancumsum` -- cumulative sum of non-NaN values - `nancumprod` -- cumulative product of non-NaN values - `nanmean` -- mean of non-NaN values - `nanvar` -- variance of non-NaN values - `nanstd` -- standard deviation of non-NaN values - `nanmedian` -- median of non-NaN values - `nanquantile` -- qth quantile of non-NaN values - `nanpercentile` -- qth percentile of non-NaN values � N)� function_base)� overrides�numpy)�module�nansum�nanmax�nanmin� nanargmax� nanargmin�nanmean� nanmedian� nanpercentile�nanvar�nanstd�nanprod� nancumsum� nancumprod�nanquantilec C s0 | j jdkrdS tj| |d�}tj||d�}|S )ap Parameters ---------- a : array-like Input array with at least 1 dimension. out : ndarray, optional Alternate output array in which to place the result. The default is ``None``; if provided, it must have the same shape as the expected output and will prevent the allocation of a new array. Returns ------- y : bool ndarray or True A bool array where ``np.nan`` positions are marked with ``False`` and other positions are marked with ``True``. If the type of ``a`` is such that it can't possibly contain ``np.nan``, returns ``True``. �fcT)�out)�dtype�kind�np�isnan�invert)�ar �y� r �L/home/digitalm-up/venv/lib/python3.7/site-packages/numpy/lib/nanfunctions.py� _nan_mask) s r c C sx t �| �} | jt jkr(t j| | td�}n t| jjt j�rDt � | �}nd}|dk rpt j | ddd�} t j| ||d� | |fS )a� If `a` is of inexact type, make a copy of `a`, replace NaNs with the `val` value, and return the copy together with a boolean mask marking the locations where NaNs were present. If `a` is not of inexact type, do nothing and return `a` together with a mask of None. Note that scalars will end up as array scalars, which is important for using the result as the value of the out argument in some operations. Parameters ---------- a : array-like Input array. val : float NaN values are set to val before doing the operation. Returns ------- y : ndarray If `a` is of inexact type, return a copy of `a` with the NaNs replaced by the fill value, otherwise return `a`. mask: {bool, None} If `a` is of inexact type, return a boolean mask marking locations of NaNs, otherwise return None. )r NT)Zsubok�copy)�where)r � asanyarrayr �object_� not_equal�bool� issubclass�type�inexactr �array�copyto)r �val�maskr r r �_replace_nanD s r- c C s0 t | tj�r tj| ||dd� n| j�|�} | S )a\ Replace values in `a` with NaN where `mask` is True. This differs from copyto in that it will deal with the case where `a` is a numpy scalar. Parameters ---------- a : ndarray or numpy scalar Array or numpy scalar some of whose values are to be replaced by val. val : numpy scalar Value used a replacement. mask : ndarray, scalar Boolean array. Where True the corresponding element of `a` is replaced by `val`. Broadcasts. Returns ------- res : ndarray, scalar Array with elements replaced or scalar `val`. �unsafe)r! �casting)� isinstancer �ndarrayr* r r'