我们从Python开源项目中,提取了以下32个代码示例,用于说明如何使用numpy.nanvar()。
def test_ddof_too_big(self): nanfuncs = [np.nanvar, np.nanstd] stdfuncs = [np.var, np.std] dsize = [len(d) for d in _rdat] for nf, rf in zip(nanfuncs, stdfuncs): for ddof in range(5): with warnings.catch_warnings(record=True) as w: warnings.simplefilter('always') tgt = [ddof >= d for d in dsize] res = nf(_ndat, axis=1, ddof=ddof) assert_equal(np.isnan(res), tgt) if any(tgt): assert_(len(w) == 1) assert_(issubclass(w[0].category, RuntimeWarning)) else: assert_(len(w) == 0)
def calculate_feature_statistics(feature_id): feature = Feature.objects.get(pk=feature_id) dataframe = _get_dataframe(feature.dataset.id) feature_col = dataframe[feature.name] feature.min = np.amin(feature_col).item() feature.max = np.amax(feature_col).item() feature.mean = np.mean(feature_col).item() feature.variance = np.nanvar(feature_col).item() unique_values = np.unique(feature_col) integer_check = (np.mod(unique_values, 1) == 0).all() feature.is_categorical = integer_check and (unique_values.size < 10) if feature.is_categorical: feature.categories = list(unique_values) feature.save(update_fields=['min', 'max', 'variance', 'mean', 'is_categorical', 'categories']) del unique_values, feature
def corr(data): ns = data.shape[0]; nt = data.shape[1]; pairs = make_pairs(ns); npp = len(pairs); mean = np.nanmean(data, axis = 0); var = np.nanvar(data - mean, axis = 0); c = np.zeros(nt); for p in pairs: c += np.nanmean( (data[p[0]] - mean) * (data[p[1]] - mean), axis = 0) / var; c /= npp; return c;
def test_dtype_from_dtype(self): mat = np.eye(3) codes = 'efdgFDG' for nf, rf in zip(self.nanfuncs, self.stdfuncs): for c in codes: with suppress_warnings() as sup: if nf in {np.nanstd, np.nanvar} and c in 'FDG': # Giving the warning is a small bug, see gh-8000 sup.filter(np.ComplexWarning) tgt = rf(mat, dtype=np.dtype(c), axis=1).dtype.type res = nf(mat, dtype=np.dtype(c), axis=1).dtype.type assert_(res is tgt) # scalar case tgt = rf(mat, dtype=np.dtype(c), axis=None).dtype.type res = nf(mat, dtype=np.dtype(c), axis=None).dtype.type assert_(res is tgt)
def test_dtype_from_char(self): mat = np.eye(3) codes = 'efdgFDG' for nf, rf in zip(self.nanfuncs, self.stdfuncs): for c in codes: with suppress_warnings() as sup: if nf in {np.nanstd, np.nanvar} and c in 'FDG': # Giving the warning is a small bug, see gh-8000 sup.filter(np.ComplexWarning) tgt = rf(mat, dtype=c, axis=1).dtype.type res = nf(mat, dtype=c, axis=1).dtype.type assert_(res is tgt) # scalar case tgt = rf(mat, dtype=c, axis=None).dtype.type res = nf(mat, dtype=c, axis=None).dtype.type assert_(res is tgt)
def test_ddof_too_big(self): nanfuncs = [np.nanvar, np.nanstd] stdfuncs = [np.var, np.std] dsize = [len(d) for d in _rdat] for nf, rf in zip(nanfuncs, stdfuncs): for ddof in range(5): with suppress_warnings() as sup: sup.record(RuntimeWarning) sup.filter(np.ComplexWarning) tgt = [ddof >= d for d in dsize] res = nf(_ndat, axis=1, ddof=ddof) assert_equal(np.isnan(res), tgt) if any(tgt): assert_(len(sup.log) == 1) else: assert_(len(sup.log) == 0)
def compute(self, today, assets, out, close): # prepare X matrix (x_is - x_bar) X = range(self.window_length) X_bar = np.nanmean(X) X_vector = X - X_bar X_matrix = np.tile(X_vector, (len(close.T), 1)).T # prepare Y matrix (y_is - y_bar) Y_bar = np.nanmean(close, axis=0) Y_bars = np.tile(Y_bar, (self.window_length, 1)) Y_matrix = close - Y_bars # prepare variance of X X_var = np.nanvar(X) # multiply X matrix an Y matrix and sum (dot product) # then divide by variance of X # this gives the MLE of Beta out[:] = (np.sum((X_matrix * Y_matrix), axis=0) / X_var) / (self.window_length)
def compute(self, today, assets, out, close): # prepare X matrix (x_is - x_bar) X = range(self.window_length) X_bar = np.nanmean(X) X_vector = X - X_bar X_matrix = np.tile(X_vector, (len(close.T), 1)).T # prepare Y vectors (y_is - y_bar) Y_bar = np.nanmean(close, axis=0) Y_bars = np.tile(Y_bar, (self.window_length, 1)) Y_matrix = close - Y_bars # multiply X matrix an Y matrix and sum (dot product) # then divide by variance of X # this gives the MLE of Beta betas = (np.sum((X_matrix * Y_matrix), axis=0) / X_var) / (self.window_length) # prepare variance of X X_var = np.nanvar(X) # now use to get to MLE of alpha out[:] = Y_bar - (betas * X_bar)
def test_nanvar(self): tgt = np.var(self.mat) for mat in self.integer_arrays(): assert_equal(np.nanvar(mat), tgt) tgt = np.var(mat, ddof=1) for mat in self.integer_arrays(): assert_equal(np.nanvar(mat, ddof=1), tgt)
def test_ddof(self): nanfuncs = [np.nanvar, np.nanstd] stdfuncs = [np.var, np.std] for nf, rf in zip(nanfuncs, stdfuncs): for ddof in [0, 1]: tgt = [rf(d, ddof=ddof) for d in _rdat] res = nf(_ndat, axis=1, ddof=ddof) assert_almost_equal(res, tgt)
def mean_var(data): # TODO: assert is a np.array mean = np.nanmean(data, axis=0) var = np.nanvar(data, axis=0) return [mean, var]
def test_basic_stats(x): s = SummaryStats() s.update(x) assert s.count() == np.count_nonzero(~np.isnan(x)) np.testing.assert_allclose(s.sum(), np.nansum(x), rtol=RTOL, atol=ATOL) np.testing.assert_equal(s.min(), np.nanmin(x) if len(x) else np.nan) np.testing.assert_equal(s.max(), np.nanmax(x) if len(x) else np.nan) np.testing.assert_allclose(s.mean(), np.nanmean(x) if len(x) else np.nan, rtol=RTOL, atol=ATOL) np.testing.assert_allclose(s.var(), np.nanvar(x) if len(x) else np.nan, rtol=RTOL, atol=ATOL) np.testing.assert_allclose(s.std(), np.nanstd(x) if len(x) else np.nan, rtol=RTOL, atol=ATOL)
def fit(self, X, y=None): self.variances_ = np.nanvar(X, 0) return self
def get_stats(arr): return np.array([ np.nanmean(arr), np.nanvar(arr), np.nanmedian(arr), np.nanstd(arr), arr.shape[0] ])
def _calc_var(self): if self.data is None: raise RuntimeError('Fit the data model first.') data = self.data.T # variance calc var = np.nanvar(data, axis=1) total_var = var.sum() self.var_exp = self.eig_vals.cumsum() / total_var
def var(self): ''' Variance of displacement :type: float ''' return num.nanvar(self.displacement)
def compute(self, today, assets, out, close): # get returns dataset returns = ((close - np.roll(close, 1, axis=0)) / np.roll(close, 1, axis=0))[1:] # get index of benchmark benchmark_index = np.where((assets == 8554) == True)[0][0] # get returns of benchmark benchmark_returns = returns[:, benchmark_index] # prepare X matrix (x_is - x_bar) X = benchmark_returns X_bar = np.nanmean(X) X_vector = X - X_bar X_matrix = np.tile(X_vector, (len(returns.T), 1)).T # prepare Y matrix (y_is - y_bar) Y_bar = np.nanmean(close, axis=0) Y_bars = np.tile(Y_bar, (len(returns), 1)) Y_matrix = returns - Y_bars # prepare variance of X X_var = np.nanvar(X) # multiply X matrix an Y matrix and sum (dot product) # then divide by variance of X # this gives the MLE of Beta out[:] = (np.sum((X_matrix * Y_matrix), axis=0) / X_var) / (len(returns))
def compute(self, today, assets, out, data): out[:] = np.nanvar(data, axis=0)