예제 #1
0
    def test_nanmean(self, tz):
        dti = pd.date_range('2016-01-01', periods=3, tz=tz)
        expected = dti[1]

        for obj in [dti, DatetimeArray(dti), Series(dti)]:
            result = nanops.nanmean(obj)
            assert result == expected

        dti2 = dti.insert(1, pd.NaT)

        for obj in [dti2, DatetimeArray(dti2), Series(dti2)]:
            result = nanops.nanmean(obj)
            assert result == expected
예제 #2
0
    def test_nanmean(self, tz):
        dti = pd.date_range("2016-01-01", periods=3, tz=tz)
        expected = dti[1]

        for obj in [dti, DatetimeArray(dti), Series(dti)]:
            result = nanops.nanmean(obj)
            assert result == expected

        dti2 = dti.insert(1, pd.NaT)

        for obj in [dti2, DatetimeArray(dti2), Series(dti2)]:
            result = nanops.nanmean(obj)
            assert result == expected
예제 #3
0
    def test_nanmean_skipna_false(self, dtype):
        arr = np.arange(12).astype(np.int64).view(dtype).reshape(4, 3)

        arr[-1, -1] = "NaT"

        result = nanops.nanmean(arr, skipna=False)
        assert result is pd.NaT

        result = nanops.nanmean(arr, axis=0, skipna=False)
        expected = np.array([4, 5, "NaT"], dtype=arr.dtype)
        tm.assert_numpy_array_equal(result, expected)

        result = nanops.nanmean(arr, axis=1, skipna=False)
        expected = np.array([arr[0, 1], arr[1, 1], arr[2, 1], arr[-1, -1]])
        tm.assert_numpy_array_equal(result, expected)
예제 #4
0
 def mean(self,
          axis=None,
          dtype=None,
          out=None,
          keepdims=False,
          skipna=True):
     nv.validate_mean((), dict(dtype=dtype, out=out, keepdims=keepdims))
     return nanops.nanmean(self._ndarray, axis=axis, skipna=skipna)
예제 #5
0
 def mean(self,
          *,
          axis=None,
          dtype=None,
          out=None,
          keepdims=False,
          skipna=True):
     nv.validate_mean((), dict(dtype=dtype, out=out, keepdims=keepdims))
     result = nanops.nanmean(self._ndarray, axis=axis, skipna=skipna)
     return self._wrap_reduction_result(axis, result)
예제 #6
0
 def mean(
     self,
     *,
     axis=None,
     dtype: Optional[NpDtype] = None,
     out=None,
     keepdims=False,
     skipna=True,
 ):
     nv.validate_mean((), {"dtype": dtype, "out": out, "keepdims": keepdims})
     result = nanops.nanmean(self._ndarray, axis=axis, skipna=skipna)
     return self._wrap_reduction_result(axis, result)
예제 #7
0
def get_seasonality(row, window_size):
    """
    Returns seasonality component of a time series
    :param row: pandas series containing the time series to extract seasonality from
    :param window_size: length of moving window
    :return: pandas series of seasonality component
    """
    averages = np.array([nanmean(row[i::window_size], axis=0) for i in range (window_size)])
    averages -= np.mean(averages, axis=0)
    season = np.tile(averages.T, len(row)//window_size+1).T[:len(row)]

    return pd.Series(season)
예제 #8
0
 def mean(self, axis=None, dtype=None, out=None, keepdims=False,
          skipna=True):
     nv.validate_mean((), dict(dtype=dtype, out=out, keepdims=keepdims))
     return nanops.nanmean(self._ndarray, axis=axis, skipna=skipna)
예제 #9
0
 def _nanmean_wrap(self, value, *args, **kwargs):
     dtype = value.dtype
     res = nanops.nanmean(value, *args, **kwargs)
     if dtype.kind == 'O':
         res = np.round(res, decimals=13)
     return res