Phase 3: summary() requirements + kickoff - #7
Conversation
|
@notskynet-bot\n\nRequirements (Phase 3: summary())\n- [ ] Add epydem.summary(df, by=None, date_cols=None, numeric_cols=None, categorical_cols=None, top_k=3, output="long") -> pd.DataFrame\n- [ ] Conservative defaults: if date_cols/numeric_cols/categorical_cols all None/empty => return only n (respect by); do not infer columns\n- [ ] Metrics: n; missing_n/missing_pct per specified column; date min/max after pd.to_datetime(errors="coerce"); numeric count/mean/std/min/p25/median/p75/max; categorical top_1..top_k + top_#_n with deterministic tie-break (count desc, then string(value) asc; missing token )\n- [ ] Output: default long schema by..., column, metric, value; optional wide pivots metrics\n- [ ] Tests: by vs no-by; default-only-n; date coercion; numeric quartiles; categorical tie-breaking\n- [ ] Docs: README example(s) for summary() |
|
CI is green ✅ — ready for review: #7 |
|
@notskynet-bot Requirements (Phase 3: summary())
|
Kick off Phase 3 (summary()) with agreed requirements.
Next step: @notskynet-bot will ACK/PLAN, then @kengggg will approve with ok <plan_id>.