import json import pandas as pd def generate_analysis_artifacts(df): """ Takes a DataFrame, performs analysis, and generates analysis.md and map.html. """ total_territories = df['TerritoryID'].nunique() total_addresses = df['Address Count'].sum() average_addresses = df['Address Count'].mean() # Territories per Category category_counts = df.groupby('CategoryCode')['TerritoryID'].nunique().reset_index(name='Count') # Generate Markdown Report report_content = f"""# Territory Analysis v1.2.0 ## Summary - Total Territories: {total_territories} - Total Addresses: {total_addresses} - Average Addresses per Territory: {average_addresses:.2f} ## Territories per Category | CategoryCode | Count | |--------------|-------| """ for _, row in category_counts.iterrows(): report_content += f"| {row['CategoryCode']} | {row['Count']} |\n" with open('analysis.md', 'w') as f: f.write(report_content) # Prepare data for embedding in HTML's JavaScript # Convert DataFrame to a list of dicts for JSON serialization data_for_json = df.to_dict(orient='records') min_addresses = df['Address Count'].min() max_addresses = df['Address Count'].max() with open('map.html', 'w') as f: f.write(f''' Territory Map
''')