Domain: Inventory & Supply Chain

Based on the provided data, answer the following questions:

Price Gap Analysis: By Make, compute the difference between the highest average Selling Price for Excellent Condition and the lowest average Selling Price for Fair Condition.
Premium Models: For cars with Age <= 5 and Condition 'Excellent', which Make has the highest average Selling Price? Return that average price value.
High-End Mileage: What is the average Mileage_k for cars with Condition 'Good' that fall into the top 10% (90th percentile and above) of Selling Price within that specific condition group?
High Mileage Pricing: What is the average Selling Price for cars with Mileage_k in the top 25% (75th percentile and above) of the entire dataset?
Age-Mileage Correlation: For cars with Selling Price > 20,000, compute the average Pearson correlation between Age and Mileage_k across all Makes (only consider Makes with at least 10 records remaining after the price filter).

Data Cleaning & Processing Rules
Duplicates: Remove exact duplicate rows.
Cleanup: Drop the Unnamed: 0 column if it exists.
Renaming: Rename the column Price to Selling Price.
Feature Engineering:
Create a new column Age calculated as 2025 - Year.
Convert Mileage to thousands by dividing by 1000 and rename the column to Mileage_k (e.g., 18107 becomes 18.107).

Logic Filters:
Remove rows where Condition is 'Excellent' AND Age is strictly greater than 10 (i.e., Age > 10).
Remove rows where Selling Price < 0 or Mileage_k < 0.
Missing Values: Remove rows where Condition or Selling Price is missing (NaN) after parsing.
Formatting: All final numeric answers must be explicitly rounded to 4 decimal places and formatted to show exactly 4 decimal digits.

Print the final answers as a Python list containing 5 string elements

Grading rubric:
criterion: Does the solution report the difference between the highest avg Selling Price (Excellent) and lowest avg Selling Price (Fair) as -1782.5206?
weight: 20
criterion: Does the solution report the highest average Selling Price for cars with Age <= 5 and Condition 'Excellent' as 17568.0200?
weight: 20
criterion: Does the solution report the average Mileage_k for 'Good' condition cars in the top 10% of Selling Price as 40.5047?
weight: 20
criterion: Does the solution report the average Selling Price for cars with Mileage_k in the top 25% as 18289.5232?
weight: 20
criterion: Does the solution report the average Pearson correlation between Age and Mileage_k as 0.3813?
weight: 20
criterion: Are the values inside the final output formatted to show exactly 4 decimal digits?
weight: 5
criterion: Does the solution print the final results as a single Python list?
weight: 5
criterion: Does the final list contain exactly 5 string elements?
weight: 5
criterion: Does the solution load both the default sheet ('Pt1') and 'Pt2'?
weight: 10

Golden answer:
```python
import pandas as pd
import numpy as np

# Load all sheets from Excel and combine them
all_sheets = pd.read_excel('CarPrices.xlsx', sheet_name=None)
df = pd.concat(all_sheets.values(), ignore_index=True)

# Remove duplicates and unnecessary columns
df = df.drop_duplicates()
if 'Unnamed: 0' in df.columns:
    df = df.drop(columns=['Unnamed: 0'])

df = df.rename(columns={'Price': 'Selling Price'})

# Feature Engineering
df['Age'] = 2025 - df['Year']
df['Mileage_k'] = df['Mileage'] / 1000.0

# Logic Filters
# Exclude 'Excellent' condition cars older than 10 years
df = df[~((df['Condition'] == 'Excellent') & (df['Age'] > 10))]

# Exclude invalid negative values
df = df[~((df['Selling Price'] < 0) | (df['Mileage_k'] < 0))]

# Drop rows with missing essential data
df = df.dropna(subset=['Condition', 'Selling Price'])

# Q1: Price Gap Analysis
excellent_avg = df[df['Condition'] == 'Excellent'].groupby('Make')['Selling Price'].mean()
fair_avg = df[df['Condition'] == 'Fair'].groupby('Make')['Selling Price'].mean()
q1_val = excellent_avg.max() - fair_avg.min()

# Q2: Premium Models
q2_filter = df[(df['Age'] <= 5) & (df['Condition'] == 'Excellent')]
q2_val = q2_filter.groupby('Make')['Selling Price'].mean().max()

# Q3: High-End Mileage
good_df = df[df['Condition'] == 'Good']
threshold_90 = good_df['Selling Price'].quantile(0.90)
q3_filter = good_df[good_df['Selling Price'] >= threshold_90]
q3_val = q3_filter['Mileage_k'].mean()

# Q4: High Mileage Pricing
threshold_75 = df['Mileage_k'].quantile(0.75)
q4_filter = df[df['Mileage_k'] >= threshold_75]
q4_val = q4_filter['Selling Price'].mean()

# Q5: Age-Mileage Correlation
q5_filter = df[df['Selling Price'] > 20000]
make_counts = q5_filter.groupby('Make').size()
valid_makes = make_counts[make_counts >= 10].index

correlations = []
for make in valid_makes:
    make_df = q5_filter[q5_filter['Make'] == make]
    corr = make_df['Age'].corr(make_df['Mileage_k'])
    correlations.append(corr)

q5_val = np.mean(correlations) if correlations else 0.0

# Format and print results
results = [q1_val, q2_val, q3_val, q4_val, q5_val]
print(["{:.4f}".format(x) for x in results])
```

['-1782.5206', '17568.0200', '40.5047', '18289.5232', '0.3813']