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)