Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/numpy/lib/__pycache__/ |
Upload File : |
o 6��a � � @ s� d Z ddlZddlZddlZddlmZ ddlmZ ej ej dd�Z g d�ZdXdd �Zd d� Z dd � ZdYdd�ZdXdd�ZdZdd�Ze e�ddejfdd��ZdZdd�Ze e�ddejfdd��ZdXdd�Ze e�dXdd��ZdXdd �Ze e�dXd!d"��Zd[d#d$�Ze e�dddejfd%d&��Zd[d'd(�Ze e�dddejfd)d*��ZdZd+d,�Ze e�dZd-d.��ZdZd/d0�Z e e �dZd1d2��Z!d[d3d4�Z"e e"�dddejfd5d6��Z#dYd7d8�Z$d\d9d:�Z%d\d;d<�Z& d[d=d>�Z'e e'�dddejfd?d@��Z( d]dAdB�Z)e e)�ddddCejfdDdE��Z* d]dFdG�Z+e e+�ddddCejfdHdI��Z,ddddCejfdJdK�Z- Cd^dLdM�Z.d_dNdO�Z/ d]dPdQ�Z0e e0�ddddejfdRdS��Z1 d]dTdU�Z2e e2�ddddejfdVdW��Z3dS )`a� 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 jdvrdS 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 �8/usr/lib/python3/dist-packages/numpy/lib/nanfunctions.py� _nan_mask) s r c C sx t �| �} | jt jkrt j| | td�}nt| jjt j�r"t � | �}nd}|dur8t 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)�subok�copy)�where)r � asanyarrayr �object_� not_equal�bool� issubclass�type�inexactr �array�copyto�r �val�maskr r r �_replace_nanD s r0 c C s2 t | tj�rtj| ||dd� | S | 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) r- r r r �_copytoq s �r5 Fc C s� t �| �}t �|�d }|j| jkr"tjdtdd� | dd� dfS |jdkr+| |fS |s1| �� } | |j d� ||j d� }|| |d|j� <