def mean_method(df, target_col): df_t0 = df.loc[(df['treatment'] == 0) & (df['in_delta'] == 1)] df_t1 = df.loc[(df['treatment'] == 1) & (df['in_delta'] == 1)] df_t0 = df_t0[target_col] df_t1 = df_t1[target_col] mean_0 = df_t0.mean() mean_1 = df_t1.mean() print(f"{'=' * 10}Mean Method Results{'=' * 10}") effect = mean_1 - mean_0 print(f"Treatment effect on {target_col} is {mean_1 - mean_0}") cm = CompareMeans.from_data(df_t1.values, df_t0.values) result = cm.ttest_ind(alternative='two-sided') print(f"Two-sided T test: CI={np.round(cm.tconfint_diff(), 3)} pvalue={round(result[1], 3)}") return effect
def test_comparemeans_convenient_interface(self): x1_2d, x2_2d = self.x1_2d, self.x2_2d d1 = DescrStatsW(x1_2d) d2 = DescrStatsW(x2_2d) cm1 = CompareMeans(d1, d2) # smoke test for summary from statsmodels.iolib.table import SimpleTable for use_t in [True, False]: for usevar in ['pooled', 'unequal']: smry = cm1.summary(use_t=use_t, usevar=usevar) assert_(isinstance(smry, SimpleTable)) # test for from_data method cm2 = CompareMeans.from_data(x1_2d, x2_2d) assert_(str(cm1.summary()) == str(cm2.summary()))
def test_comparemeans_convenient_interface(self): x1_2d, x2_2d = self.x1_2d, self.x2_2d d1 = DescrStatsW(x1_2d) d2 = DescrStatsW(x2_2d) cm1 = CompareMeans(d1, d2) # smoke test for summary from statsmodels.iolib.table import SimpleTable for use_t in [True, False]: for usevar in ['pooled', 'unequal']: smry = cm1.summary(use_t=use_t, usevar=usevar) assert_(isinstance(smry, SimpleTable)) # test for from_data method cm2 = CompareMeans.from_data(x1_2d, x2_2d) assert_(str(cm1.summary()) == str(cm2.summary()))