From 507dfce844d0bddba61ce4068b0e9e0978fded0f Mon Sep 17 00:00:00 2001 From: Le Roux Erwan <erwan.le-roux@irstea.fr> Date: Wed, 25 Mar 2020 14:57:44 +0100 Subject: [PATCH] [contrasting project] add test for the percentage of weather types. --- .../test_edf_data/test_weather_types.py | 17 +++++++++++++++++ .../test_mean_global_temperature.py | 2 -- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/test/test_extreme_data/test_edf_data/test_weather_types.py b/test/test_extreme_data/test_edf_data/test_weather_types.py index 2616b49b..afa1d9b6 100644 --- a/test/test_extreme_data/test_edf_data/test_weather_types.py +++ b/test/test_extreme_data/test_edf_data/test_weather_types.py @@ -1,5 +1,7 @@ import unittest +import pandas as pd + from extreme_data.edf_data.weather_types import load_df_weather_types from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature @@ -14,6 +16,21 @@ class TestWeatherTypes(unittest.TestCase): self.assertEqual(first, 5) self.assertEqual(last, 8) + def test_yearly_percentages(self): + # Expected Percentages come from the original paper + expected_percentages = [7, 23, 8, 18, 7, 6, 3, 28] + wp_ids = list(range(1, 9)) + wp_to_expected_percentages = dict(zip(wp_ids, expected_percentages)) + # Compute percentages + df = load_df_weather_types() + wp_to_found_percentages = 100 * df['WP'].value_counts() / len(df) + wp_to_found_percentages = {int(k): round(v) for k, v in wp_to_found_percentages.to_dict().items()} + # They remove one the wp1 so that the sum of the percentages sum to 100 + wp_to_found_percentages[1] -= 1 + self.assertEqual(sum(wp_to_found_percentages.values()), 100) + # wp_to_found_percentages = wp_to_found_percentages.astype(int) + self.assertEqual(wp_to_expected_percentages, wp_to_found_percentages) + if __name__ == '__main__': unittest.main() diff --git a/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py index 70d5bc9e..e30e4a3d 100644 --- a/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py +++ b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py @@ -1,7 +1,5 @@ import unittest -from extreme_data.edf_data.weather_types import load_df_weather_types -from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature from extreme_data.nasa_data.global_mean_temperature import load_year_to_mean_global_temperature -- GitLab