akwel_performance / src /analysis.py
ArkenB's picture
Create analysis.py
45ef42a verified
raw
history blame contribute delete
753 Bytes
# src/analysis.py
import pandas as pd
def calculate_correlations(df: pd.DataFrame) -> dict:
correlations = {}
# Overall correlation
overall_corr = df[['Feedback_Stars', 'Instructor_Rating']].corr().iloc[0, 1]
correlations['Overall'] = overall_corr
# Per subject correlation
for subject in df['Subject'].unique():
subject_df = df[df['Subject'] == subject]
if len(subject_df) > 1: # Need at least 2 data points for correlation
subject_corr = subject_df[['Feedback_Stars', 'Instructor_Rating']].corr().iloc[0, 1]
correlations[subject] = subject_corr
else:
correlations[subject] = None # Not enough data
print("Correlation analysis complete.")
return correlations