import pandas as pd
import numpy as np

def descriptive_statistics(file_path):
    # Load the dataset
    data = pd.read_csv(file_path)

    # Ensure Sales column is numeric
    data['Sales'] = pd.to_numeric(data['Sales'], errors='coerce')

    # Summary statistics for Sales column
    summary_sales = data['Sales'].describe().to_frame(name='Summary Statistics')

    # Skewness and kurtosis for Sales column
    skewness_sales = pd.DataFrame({'Statistic': ['Skewness'], 'Value': [data['Sales'].skew()]})
    kurtosis_sales = pd.DataFrame({'Statistic': ['Kurtosis'], 'Value': [data['Sales'].kurtosis()]})

    # Variance for Sales column
    variance_sales = pd.DataFrame({'Statistic': ['Variance'], 'Value': [data['Sales'].var()]})

    # Combine all into one DataFrame
    statistics_summary = pd.concat([summary_sales, skewness_sales.set_index('Statistic'), kurtosis_sales.set_index('Statistic'), variance_sales.set_index('Statistic')])

    # Styling the summary statistics
    styled_summary = statistics_summary.style.background_gradient(cmap='coolwarm').set_caption("Sales Descriptive Statistics").set_table_styles([
        {'selector': 'caption', 'props': [('color', 'white'), ('font-size', '16px')]},
        {'selector': 'table', 'props': [('border-collapse', 'collapse'), ('border', '2px solid black')]}
    ]).format("{:.2f}")

    # Display the styled summary
    display(styled_summary)

# Example usage
file_path = 'C:\\Users\\loydt\\Downloads\\Superstore Sales Dataset.csv'
descriptive_statistics(file_path)