Spaces:
Configuration error
Configuration error
| # components/analysis.py | |
| from dataclasses import dataclass | |
| from typing import Any, Callable, Dict, List, Optional | |
| import pandas as pd | |
| from .statistical import StatisticalAnalyzer | |
| from .visualization import D3Visualizer | |
| class AnalysisTool: | |
| """Analysis tool class""" | |
| name: str | |
| description: str | |
| func: Callable | |
| class DataAnalyzer: | |
| """Main analysis component""" | |
| def __init__(self): | |
| self.statistical = StatisticalAnalyzer() | |
| self.visualizer = D3Visualizer() | |
| def analyze_data( | |
| self, | |
| df: pd.DataFrame, | |
| analysis_type: str, | |
| params: Optional[Dict] = None | |
| ) -> Dict: | |
| """Analyze data based on type""" | |
| params = params or {} | |
| if analysis_type == "distribution": | |
| stats_result = self.statistical.analyze_distribution( | |
| df[params.get("column")] | |
| ) | |
| viz_result = self.visualizer.create_interactive_plot( | |
| "distribution", | |
| {"values": df[params.get("column")].tolist()} | |
| ) | |
| return { | |
| "statistics": stats_result, | |
| "visualization": viz_result | |
| } | |
| elif analysis_type == "forecast": | |
| forecast_result = self.statistical.forecast_probability_cone( | |
| df[params.get("column")], | |
| steps=params.get("steps", 10) | |
| ) | |
| viz_result = self.visualizer.create_interactive_plot( | |
| "probability_cone", | |
| forecast_result | |
| ) | |
| return { | |
| "forecast": forecast_result, | |
| "visualization": viz_result | |
| } | |
| elif analysis_type == "correlation": | |
| corr_result = self.statistical.analyze_correlations(df) | |
| viz_result = self.visualizer.create_interactive_plot( | |
| "correlation", | |
| {"matrix": corr_result["correlation_matrix"]} | |
| ) | |
| return { | |
| "correlations": corr_result, | |
| "visualization": viz_result | |
| } | |
| return {"error": "Unsupported analysis type"} |