def test_monthly_volume_deficit(self): data = test_data() result = analysis.monthly_volume_deficit(data, 0) self.assertItemsEqual([2015, 2016], result.index) self.assertItemsEqual([1, 2, 3], result.columns) self.assertEqual(-7, result[1].iloc[0]) self.assertEqual(-12, result[2].iloc[0]) self.assertEqual(-4, result[3].iloc[0])
def test_monthly_volume_deficit_unit_convert(self): data = test_data() result = analysis.monthly_volume_deficit(data, 0, unit_multiplier=2.0) self.assertItemsEqual([2015, 2016], result.index) self.assertItemsEqual([1, 2, 3], result.columns) self.assertEqual(-14, result[1].iloc[0]) self.assertEqual(-24, result[2].iloc[0]) self.assertEqual(-8, result[3].iloc[0])
def get_data(self, request, scenario_id): scenario = get_object_or_404(Scenario, pk=scenario_id) data = analysis.monthly_volume_deficit( scenario.get_data(), scenario.get_gap_attribute_name(), analysis.CFS_TO_AFD ) return data.reset_index()
def project_deficit_stats_csv(request, project_id): project = get_object_or_404(Project, pk=project_id) monthly_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.monthly_volume_deficit(d, g, CFS_TO_AFD).mean().abs(), "af") annual_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af").mean().abs() annual_result.name = "Annual Average" response = HttpResponse(content_type="text/csv") result = pd.concat([monthly_result, annual_result.to_frame().transpose()], axis=0) result.to_csv(response) return response
def project_deficit_stats_csv(request, project_id): project = get_object_or_404(Project, pk=project_id) monthly_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.monthly_volume_deficit( d, g, CFS_TO_AFD).mean().abs(), "af") annual_result = __get_deficit_stats_comparison( project, lambda d, g, t: analysis.annual_volume_deficit(d, g, CFS_TO_AFD), "af").mean().abs() annual_result.name = "Annual Average" response = HttpResponse(content_type="text/csv") result = pd.concat( [monthly_result, annual_result.to_frame().transpose()], axis=0) result.to_csv(response) return response
def project_deficit_stats_plot(request, project_id): return __dataframe_barplot_helper(request, project_id, "Average monthly volume deficit", lambda d, g, t: analysis.monthly_volume_deficit(d, g, CFS_TO_AFD).mean().abs(), "af")
def project_deficit_stats_plot(request, project_id): return __dataframe_barplot_helper( request, project_id, "Average monthly volume deficit", lambda d, g, t: analysis.monthly_volume_deficit(d, g, CFS_TO_AFD).mean( ).abs(), "af")