Generate publication-ready statistical comparison tables for IEEE, ACM, and Elsevier papers in 3 lines of Python.
- 📊 4 output formats — IEEE LaTeX, ACM SIGCONF LaTeX, Elsevier Word (.docx), GitHub/arXiv Markdown
- 🔬 Auto stat testing — Wilcoxon (n<30), paired t-test (n≥30), Mann-Whitney U for independent samples
- 📐 Effect sizes — Cohen's d (parametric) or rank-biserial correlation (non-parametric)
- ★ Auto-boldfacing — best result per metric row boldfaced automatically
- 📝 p-value footnotes —
* p<0.05,** p<0.01,*** p<0.001appended automatically - 📄 Self-citation footnote — every output includes a citable paperstat attribution
- 🗂️ JOSS-submitted — peer-reviewed, indexed, citable DOI
pip install paperstatfrom paperstat import PaperStat
PaperStat.from_csv("results.csv", baseline="BERT").to_ieee_latex("table.tex")ps = PaperStat(
data={
"BERT": {"F1": [0.91, 0.89, 0.92], "Precision": [0.90, 0.88, 0.91]},
"RoBERTa": {"F1": [0.94, 0.93, 0.95], "Precision": [0.93, 0.92, 0.94]},
"Our Model": {"F1": [0.96, 0.95, 0.97], "Precision": [0.95, 0.94, 0.96]},
},
baseline="BERT",
test="wilcoxon", # or "ttest", "mannwhitney", None (auto)
alpha=0.05,
)
ps.to_ieee_latex("table_ieee.tex") # IEEE double-column
ps.to_acm_latex("table_acm.tex") # ACM SIGCONF
ps.to_elsevier_docx("table.docx") # Elsevier Word
ps.to_markdown("table.md") # GitHub / arXiv| Method | F1 | Precision |
|---|---|---|
| BERT | 0.9067 | 0.8967 |
| RoBERTa | 0.9400* | 0.9300* |
| Our Model | 0.9600* | 0.9500* |
* p<0.05, ** p<0.01, *** p<0.001
metric,method,run1,run2,run3
F1,BERT,0.91,0.89,0.92
F1,RoBERTa,0.94,0.93,0.95
F1,Our Model,0.96,0.95,0.97
Precision,BERT,0.90,0.88,0.91
Precision,RoBERTa,0.93,0.92,0.94
Precision,Our Model,0.95,0.94,0.96
| Feature | paperstat | tableone | pystout |
|---|---|---|---|
| IEEE LaTeX output | ✅ | ❌ | ✅ |
| ACM LaTeX output | ✅ | ❌ | ❌ |
| Elsevier Word output | ✅ | ❌ | ❌ |
| Auto stat testing | ✅ | ❌ | ❌ |
| Effect sizes | ✅ | ❌ | ❌ |
| Auto-boldfacing | ✅ | ❌ | ✅ |
| JOSS peer-reviewed | ✅ | ❌ | ❌ |
- chitralabs/sheetz — Excel/CSV processing (Java)
- chitralabs/schemamatch — tabular dataset diff (Java)
- paperstat-examples — Jupyter notebook demos
Apache License 2.0 — see LICENSE.
© 2026 Chitrapradha Ganesan — github.com/chitralabs