Zero dependencies. Pandas-inspired API. 503 tests verified against Python.
Pure JavaScript implementation. No native modules, no heavy bundles. Just import and go.
Typically 1-3x faster than Python pandas on small data. Some operations are comparable. 503 tests verified.
Familiar method names and patterns for Python pandas users. Not a full port, but covers common operations.
DataFrame and Series with iloc, loc, groupby, merge, pivot, melt, and more.
Rolling, expanding, and exponential weighted windows. Multi-column groupby with agg, transform, filter.
Use pd.run() to transpile Python pandas code to JS and run it natively. No Pyodide needed.
503 tests verified against Python pandas. Timings measured on small test data — results vary by workload and environment.
| Area | Python | JavaScript | Ratio |
|---|---|---|---|
| Creation & Access | 0.72 ms | 0.83 ms | 0.9x |
| Selection & Indexing | 1.68 ms | 1.08 ms | 1.6x |
| Computation | 2.91 ms | 1.34 ms | 2.2x |
| Reshaping | 5.40 ms | 2.43 ms | 2.2x |
| Advanced | 5.70 ms | 2.05 ms | 2.8x |
| Window | 2.12 ms | 1.93 ms | 1.1x |
| GroupBy & Merge | 7.83 ms | 2.05 ms | 3.8x |
| IO & Data Types | 4.42 ms | 1.79 ms | 2.5x |
| DateTime & Strings | 3.64 ms | 2.21 ms | 1.6x |
| Utilities | 4.24 ms | 1.82 ms | 2.3x |
| Arithmetic & Conversions | 2.31 ms | 2.04 ms | 1.1x |
| Cumulative & Stats | 2.81 ms | 2.05 ms | 1.4x |
| GroupBy Enhancements | 2.03 ms | 1.18 ms | 1.7x |
| Reshape & Top-level | 5.34 ms | 2.03 ms | 2.6x |
| String & Window Ext | 1.98 ms | 1.64 ms | 1.2x |