예제 #1
0
    def test_summary3(self):
        d1 = [random.random() * 100 for _ in range(20)]
        d2 = d1.copy()
        d2[0] = None
        table1 = pd.DataFrame({'d1': d1, 'd2': d2})

        input_cols = ['d1', 'd2']
        outtable1 = statistic_summary(
            table1,
            input_cols=input_cols,
            statistics=['avg', 'percentile', 'trimmed_mean'],
            percentile_amounts=[0.5, None],
            trimmed_mean_amounts=[0.1, None, 0.2])['out_table']
        print(outtable1)
예제 #2
0
    def test_summary2(self):
        d1 = [
            2.0, 3.0, 5.0, 7.0, 11.0, 13.0, 17.0, 19.0, 23.0, 29.0, 31.0, 37.0,
            43.0, 47.0
        ]
        d2 = [
            2.5, 3.0, 5.0, 7.0, None, 13.0, 17.0, 19.0, 23.0, 29.0, 31.0, 37.0,
            43.0, 46.5
        ]
        d3 = [
            2.0, 3.0, 5.0, 7.0, None, 13.0, 17.0, 19.0, 23.0, 29.0, 31.0, 37.0,
            43.0, 47.0
        ]
        t1 = pd.DataFrame({'d1': d1, 'd2': d2, 'd3': d3})
        print(t1)

        input_cols = ['d2', 'd3']
        pa_list = [0.25, 0.25]
        ta_list = [0.20, 0.20]
        out1 = statistic_summary(t1, input_cols, ['max', 'min'])
        print(out1['out_table'])
예제 #3
0
 def test(self):
     stats = [
         'max', 'min', 'range', 'sum', 'avg', 'variance', 'stddev',
         'skewness', 'kurtosis', 'nrow', 'num_of_value', 'null_count',
         'median', 'q1', 'q3', 'iqr', 'percentile', 'trimmed_mean'
     ]
     pa_list = [0.25, 0.25]
     ta_list = [0.20, 0.20]
     out = statistic_summary(self.testdata,
                             input_cols=['d1', 'd2'],
                             statistics=stats,
                             percentile_amounts=pa_list,
                             trimmed_mean_amounts=ta_list,
                             group_by=['d3'])
     np.testing.assert_array_almost_equal(
         list(out['out_table'].values[0][2:]), [
             43.0, 2.0, 41.0, 132.0, 18.857142857142858, 214.80952380952385,
             14.65638167521315, 0.456945126469852, -0.9637153614645078, 7,
             7, 0, 17.0, 8.0, 27.0, 19.0, 2.045, 17.4
         ], 10)
     np.testing.assert_array_almost_equal(
         list(out['out_table'].values[1][2:]), [
             43.0, 2.5, 40.5, 121.5, 20.25, 239.775, 15.484669838262617,
             np.nan, np.nan, 7, 6, 1, 20.0, np.nan, np.nan, np.nan, np.nan,
             23.8
         ], 10)
     np.testing.assert_array_almost_equal(
         list(out['out_table'].values[2][2:]), [
             47.0, 3.0, 44.0, 155.0, 22.142857142857142, 262.4761904761905,
             16.201116951500303, 0.325040658885993, -1.2313300865139738, 7,
             7, 0, 19.0, 10.0, 33.0, 23.0, 3.06, 21.0
         ], 10)
     np.testing.assert_array_almost_equal(
         list(out['out_table'].values[3][2:]), [
             46.5, 3.0, 43.5, 154.5, 22.071428571428573, 258.36904761904765,
             16.073862249597873, 0.307849200412774, -1.2556904973476417, 7,
             7, 0, 19.0, 10.0, 33.0, 23.0, 3.06, 21.0
         ], 10)