CorrPY is your lightweight buddy for fast, smart correlation analysis.
Forget just numbers — CorrPY tells you what they mean. 📊✨
Built for data scientists who want insights, not just values.
pip install corrpyfrom corrpy import Corrpy
corrpy = Corrpy()
corrpy.getTotalCorrRelation(df)✅ Analyze correlation across features
✅ Get trends + easy-to-read interpretations
✅ Go deeper with AI explanations (optional)
- Numerical vs Numerical — Classic correlations + strength.
- Object vs Numerical — Category impacts, clear trends.
- Object vs Object — Categorical association (Chi2).
- Transitive Trap Alerts — Detect hidden indirect links. 🚨
- AI-Generated Insights — Explain data like a boss 🧠📜
getTotalCorrRelation(df, features = ["Correlation", "Pearson", "Distance"], feature = "Correlation", short = False): Pass a pandas DataFrame to get correlation analysis across all columns and get trends, interpretations and score with respect to feature u added in parameter.getGroupInf(objColumn, numColumn, df): Compute the correlation between the given object column and the given numeric column.getAllGroupInf(df): Compute the correlation between all object columns and all numeric columns.checkTransit(firstFeature, secondFeature, ThirdFeature): Check for transitive correlation between three features.checkTransitForColumn(column, df): Check for transitive correlation between a column and all other columns.
explainTC(df, feature="Correlation", prompt="null"): Get AI insights for correlation analysis.explainShift(num1, num2, shiftValue, df, prompt="Explain like a stand-up comedian"): An AI analyst explains the output ofshift()like you're in a meeting with your CEO.explainTransit(num1, num2, df, prompt="Explain like Angry Professor"): Get AI insights for transitive correlation analysis.explainTransitForcolumn(column, df, prompt="Explain like Oppenheimer"): An AI analyst explains the output ofcheckTransitForColumn()like you're in a meeting with your CEO.explainAI(result, prompt="Explain like angry professor"): Get AI insights for any result.makeReport(self, method="null", df=None, column=None, feature=None, target=None, prompt="Null", size="short", constant=None, first=None, second=None, third=None): Generate a human-like, well-written paragraph suitable for direct pasting into a PowerPoint slide, based on the output of other methods.
"Age and Fare have a moderate positive correlation.
Pclass has a strong inverse relation with Fare."
✨ Plus visual trends, interpretation tags, and more!
YellowForest
🔗 GitHub
BSD 3-Clause License
| # | What CorrPY Gives You |
|---|---|
| 🚀 | Quick, meaningful correlation analysis |
| 🤖 | AI-driven explanations |
| 🧩 | Find hidden patterns |
| 🔥 | Detect transitive traps |
| 🎯 | Ideal for both beginners and pros |
CorrPY isn't just another EDA tool...
It's your data's best storyteller. 📚🚀
- README for Quick Start 📑
- Full GUIDE.md for Deep Dive 📚