def none_missing(df, columns=None): """ Asserts that there are no missing values (NaNs) in the DataFrame. Parameters ---------- df : DataFrame columns : list list of columns to restrict the check to Returns ------- df : DataFrame same as the original """ if columns is None: columns = df.columns try: assert not df[columns].isnull().any().any() except AssertionError as e: missing = df[columns].isnull() msg = generic.bad_locations(missing) e.args = msg raise return df
def within_n_std(df, n=3): """ Assert that every value is within ``n`` standard deviations of its column's mean. Parameters ========== df : DataFame n : int number of standard devations from the mean Returns ======= df : DatFrame """ means = df.mean() stds = df.std() inliers = (np.abs(df - means) < n * stds) if not np.all(inliers): msg = generic.bad_locations(~inliers) raise AssertionError(msg) return df