def stats_cmd(main_arguments): """ Main routine for handling calls to the statistics command. :param main_arguments: The command line arguments (minus the stats command) """ from cis.stats import StatsAnalyzer from cis.data_io.gridded_data import GriddedDataList data_reader = DataReader() data_list = data_reader.read_datagroups(main_arguments.datagroups) analyzer = StatsAnalyzer(*data_list) results = analyzer.analyze() header = "RESULTS OF STATISTICAL COMPARISON:" note = "Compared all points which have non-missing values in both variables" header_length = max(len(header), len(note)) print(header_length * '=') print(header) print(header_length * '-') print(note) print(header_length * '=') for result in results: print(result.pprint()) if main_arguments.output: cubes = GriddedDataList([result.as_cube() for result in results]) variables = [] filenames = [] for datagroup in main_arguments.datagroups: variables.extend(datagroup['variables']) filenames.extend(datagroup['filenames']) history = "Statistical comparison performed using CIS version " + __version__ + \ "\n variables: " + str(variables) + \ "\n from files: " + str(set(filenames)) cubes.add_history(history) cubes.save_data(main_arguments.output)
def test_GIVEN_missing_values_WHEN_analyze_THEN_original_data_unchanged(self): # We perform some manipulation on the data masks, but we don't want the # original data to be changed. stats = StatsAnalyzer(self.missing1, self.missing2) results = stats.analyze() assert_that(len(self.missing1.data.compressed()), is_(7)) assert_that(len(self.missing2.data.compressed()), is_(7))
def stats_cmd(main_arguments): """ Main routine for handling calls to the statistics command. :param main_arguments: The command line arguments (minus the stats command) """ from cis.stats import StatsAnalyzer from cis.data_io.gridded_data import GriddedDataList data_reader = DataReader() data_list = data_reader.read_datagroups(main_arguments.datagroups) analyzer = StatsAnalyzer(*data_list) results = analyzer.analyze() header = "RESULTS OF STATISTICAL COMPARISON:" note = "Compared all points which have non-missing values in both variables" header_length = max(len(header), len(note)) print(header_length * '=') print(header) print(header_length * '-') print(note) print(header_length * '=') for result in results: print(result.pprint()) if main_arguments.output: cubes = GriddedDataList([result.as_cube() for result in results]) variables = [] filenames = [] for datagroup in main_arguments.datagroups: variables.extend(datagroup['variables']) filenames.extend(datagroup['filenames']) history = "Statistical comparison performed using CIS version " + __version__ + \ "\n variables: " + str(variables) + \ "\n from files: " + str(set(filenames)) cubes.add_history(history) cubes.save_data(main_arguments.output)
def test_GIVEN_missing_values_WHEN_analyze_THEN_original_data_unchanged( self): # We perform some manipulation on the data masks, but we don't want the # original data to be changed. stats = StatsAnalyzer(self.missing1, self.missing2) results = stats.analyze() assert_that(len(self.missing1.data.compressed()), is_(7)) assert_that(len(self.missing2.data.compressed()), is_(7))
def test_GIVEN_flattened_and_unflattened_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self): data1 = mock.make_regular_2d_ungridded_data() data2 = mock.make_regular_2d_ungridded_data() data2._data = data2.data_flattened for coord in data2.coords(): coord._data = coord.data_flattened stats = StatsAnalyzer(data1, data2) results = stats.analyze() assert_that(len(results), is_(14))
def test_GIVEN_flattened_and_unflattened_datasets_WHEN_analyze_THEN_StatisticsResults_returned( self): data1 = mock.make_regular_2d_ungridded_data() data2 = mock.make_regular_2d_ungridded_data() data2._data = data2.data_flattened for coord in data2.coords(): coord._data = coord.data_flattened stats = StatsAnalyzer(data1, data2) results = stats.analyze() assert_that(len(results), is_(14))
def test_GIVEN_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self): stats = StatsAnalyzer(self.data1, self.data2) results = stats.analyze() assert_that(len(results), is_(14))
def test_GIVEN_datasets_WHEN_analyze_THEN_StatisticsResults_returned(self): stats = StatsAnalyzer(self.data1, self.data2) results = stats.analyze() assert_that(len(results), is_(14))