[Autoloop] [Autoloop: build-tsb-pandas-typescript-migration]#111
[Autoloop] [Autoloop: build-tsb-pandas-typescript-migration]#111github-actions[bot] wants to merge 13 commits intomainfrom
Conversation
Implements pandas missing-value utilities as standalone exported functions: - `isna` / `notna` / `isnull` / `notnull` — detect missing values in scalars, Series, and DataFrames (mirrors pd.isna / pd.notna) - `ffillSeries` / `bfillSeries` — forward/backward fill for Series with optional `limit` parameter - `dataFrameFfill` / `dataFrameBfill` — column-wise or row-wise fill for DataFrames with optional `limit` and `axis` parameters Metric: 28 → 29 pandas_features_ported Run: https://github.com/githubnext/tsessebe/actions/runs/24263385922 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Implements pctChangeSeries() and pctChangeDataFrame() mirroring pandas.Series.pct_change() / pandas.DataFrame.pct_change(). - periods: configurable lag (positive = backward, negative = forward) - fillMethod: "pad" (default), "bfill", or null (no fill) - limit: cap consecutive fills - axis: column-wise (default) or row-wise for DataFrame Full test coverage: unit tests, edge cases, and fast-check property tests. Interactive playground page at playground/pct_change.html. Run: https://github.com/githubnext/tsessebe/actions/runs/24266545401
Run: https://github.com/githubnext/tsessebe/actions/runs/24281202174 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run: https://github.com/githubnext/tsessebe/actions/runs/24282208612 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Run: https://github.com/githubnext/tsessebe/actions/runs/24282791339 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…g for Series and DataFrame Run: https://github.com/githubnext/tsessebe/actions/runs/24283807306 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- stats/duplicated.ts: duplicatedSeries, duplicatedDataFrame, dropDuplicatesSeries, dropDuplicatesDataFrame with keep='first'/'last'/false and subset support - core/sample.ts: sampleSeries, sampleDataFrame with n/frac, replace, weighted sampling, and seeded RNG (randomState) - 35 tests each (unit + fast-check properties) - Playground pages: duplicated.html, sample.html Run: https://github.com/githubnext/tsessebe/actions/runs/24285279820 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The 🤖 Iteration 200 — ✅ Accepted
|
|
Warning The 🤖 Iteration 201 — ✅ Accepted
|
|
Warning The 🤖 Iteration 202 — ✅ Accepted
|
- stats/clip_advanced.ts: clipAdvancedSeries, clipAdvancedDataFrame with per-element bounds from scalar, array, Series (positional), or DataFrame (element-wise). DataFrame bounds support axis=0/1 for Series broadcasting. - stats/apply.ts: applySeries, mapSeries (function/dict/Map), applyDataFrame (reduce per col/row), applyExpandDataFrame (transform per col/row → DataFrame), mapDataFrame (element-wise). Helper decomposition satisfies Biome complexity rules. - 25+ unit + property-based tests each (fast-check) - Playground pages: clip_advanced.html, apply.html - Creates canonical branch autoloop/build-tsb-pandas-typescript-migration from iter 199 Run: https://github.com/githubnext/tsessebe/actions/runs/24287426738 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
🤖 Autoloop Iteration 203This iteration implements two stats modules previously missing from the coverage metric. Changes
Metrics
|
- stats/cut.ts: cut() for equal-width or user-defined bins, qcut() for quantile bins - cutCodes() returns integer bin codes; cutCategories() returns label arrays - CutOptions: right, labels, retbins, precision, includeLowest, ordered - QcutOptions: labels, retbins, precision, duplicates (raise/drop) - 30+ unit tests + fast-check property tests - Playground page: cut.html (8 interactive demos) - Export from stats/index.ts and src/index.ts Run: https://github.com/githubnext/tsessebe/actions/runs/24288003426 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 204 — ✅ Accepted — Run Change: Add
Metric: 40 (previous: 39, delta: +1) |
…range Add `stats/interval.ts` with: - `Interval` class — single bounded interval with all four closed types (left/right/both/neither) - `IntervalIndex` — ordered array of intervals with fromBreaks, fromArrays, fromIntervals factories - `intervalRange()` — equal-length interval ranges by period count or step size - Lookup: indexOf, overlapping, append, isMonotonic - 60+ unit tests + fast-check property tests - Playground page interval.html (8 interactive demos) Run: https://github.com/githubnext/tsessebe/actions/runs/24288493950 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Iteration 205 — ✅ Accepted (Run)
|
Run: https://github.com/githubnext/tsessebe/actions/runs/24289114918 Add `stats/get_dummies.ts` with: - `getDummies(data, options?)` — one-hot encode a Series or DataFrame (unified API) - `getDummiesSeries` — encode a single Series into binary indicator columns - `getDummiesDataFrame` — encode categorical columns in a DataFrame - `fromDummies(df, options?)` — reverse one-hot encoding back to a categorical Series Options: prefix, prefixSep, dummyNa, columns (DataFrame), dropFirst, dtype 45+ unit + fast-check tests. Playground page get_dummies.html (8 interactive demos). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Warning The 🤖 Iteration 207 — ✅ Accepted
|
|
@copilot resolve merge conflcits |
…nd playground Co-authored-by: mrjf <180956+mrjf@users.noreply.github.com>
Merge conflicts resolved in commit
|
|
Closing — superseded by #120 (the most complete migration PR). |
🤖 This PR is maintained by Autoloop. Each accepted iteration adds a commit to this branch.
Summary
Builds
tsb— a complete TypeScript port of pandas, one feature at a time.Current best metric: 35 pandas features ported (higher is better)
Steering issue: #107
Accepted Iterations
Iteration 197 — diff / shift
Add
diffSeries,diffDataFrame,shiftSeries,shiftDataFrame.Discrete difference and value shifting for Series and DataFrame, with axis support.
35 tests (unit + fast-check properties). Playground page
diff_shift.html.Iteration 196 — where / mask
Add
whereSeries,maskSeries,whereDataFrame,maskDataFrame.33 tests. Playground page
where_mask.html.Iteration 195 — replace
Add
replaceSeries,replaceDataFrame. 27 tests.Iteration 194 — astype
Add
astypeSeries,astype,castScalar. 40 tests.Iteration 193 — idxmin / idxmax
Add
idxminSeries,idxmaxSeries,idxminDataFrame,idxmaxDataFrame. 35 tests.