1.1.0 — 2026-10-24#
New features#
- DataFrame axis=1 reductions:
sum(1),mean(1),min(1),max(1)now return a row-wiseSeries DataFrame.dropna(axis=1): drops columns with any/all/thresh NA valuesDataFrame.concat(axis=1): column-wise concatenation; duplicate column names are auto-suffixedDataFrame.apply(axis=1): row-wise apply receiving aSeriesper rowDataFrame.diff(axis=1): column-wise diffDataFrame.to_dict()all orientations:dict,list,records,series,split,indexall implementedDataFrame.to_string(): real tab-separated rendering withmax_rows/max_colstruncationDataFrame.convert_dtypes(): promotes numeric-stringobject/stringcolumns tofloat64DataFrame.corr_matrix('spearman'): rank-then-Pearson implementationSeries.at_time(hh:mm): filters a datetime-indexed Series by time of daySeries.between_time(start, end): filters by time range (handles midnight wrap)Series.tz_convert(tz): re-expressesDatevalues in another timezone viaIntl.DateTimeFormatSeries.tz_localize(tz): attaches timezone metadata to naive datetime seriesSeries.unstack(level): pivots MultiIndex tuple index to columnsRolling.corr(other): real Pearson cross-correlation over sliding windowsRolling.cov(other): real sample covariance over sliding windowsJSON orient='table': full read + write of pandas Table Schema format- Parquet optional peer deps:
read_parquet/to_parquetwork whenparquet-wasm+apache-arroware installed; otherwise throw a clearNotImplementedErrorwith install hint - Clipboard optional peer deps: same pattern using
clipboardy CategoricalAccessor.reorder_categories(): remaps values to new orderCategoricalAccessor.as_ordered(): sorts categories alphabeticallyCategoricalAccessor.as_unordered(): preserves values, returns unordered copyDatetimeAccessor.tz_localize()/.tz_convert(): real timezone operationsStringAccessor.encode(encoding)/.decode(encoding):BufferEncoding-aware encode/decodeIndex.astype(dtype): converts index values toint64,float64,str, orbool
Coverage update#
- Series: 160+ methods (was 152+)
- DataFrame: 145+ methods (was 134+)
- Tests: 642 (was 601) across 15 files (was 14)
- Honest API surface coverage: ~95% (HDF5/Stata/Pickle/Sparse remain out of scope; see Compatibility)
---
1.0.0 — 2026-10-24#
Initial public release.
What's included#
- Series — 152+ methods, ~95% pandas parity
- DataFrame — 134+ methods, ~90% pandas parity
- Top-level
pd.*— 30 functions:concat,merge,merge_asof,cut,qcut,crosstab,factorize,wide_to_long,json_normalize,date_range,to_datetime,pivot_table,melt,eval,infer_freq,get_dummies,from_dummies,isna,notna,unique,value_counts - GroupBy — 30+ methods on DataFrameGroupBy and SeriesGroupBy
- Rolling / Expanding / EWM — full window methods including
skew,kurt,sem,corr,cov - Resample — DataFrameResampler + SeriesResampler
.straccessor — 58 string methods.dtaccessor — 45 datetime properties/methods.cataccessor — 12 categorical methods- Index types — Index, RangeIndex, Int64Index, Float64Index, StringIndex, DatetimeIndex, MultiIndex
- Scalars — Timestamp, Timedelta with full arithmetic and parsing
- IO — CSV, JSON, Excel, Parquet, SQL, Feather, Pickle, Clipboard, HTML, XML, FWF (stub: HDF5, Stata)
- tseries.offsets — BusinessDay, MonthEnd, MonthBegin, YearEnd, YearBegin, QuarterEnd, QuarterBegin, Week, Day, Hour, Minute, Second, Milli, Micro, Nano, BusinessHour
- pd.testing —
assert_series_equal,assert_frame_equal,assert_index_equal - pd.eval — safe expression evaluator for DataFrame columns
- pd.infer_freq — detects
D,H,T,S,W,MS,ME,QS,QE,YS,YE - @cyfora/numera integration — hist, gradient, percentile, interp, average, norm, corrWithNumera, covWithNumera, ndiff, convolve, cumsumNumera, cumprodNumera; DataFrame.cov_matrix, corr_matrix
- 601 tests, 14 test files, 0 type errors
What's included#
- Series — 152+ methods, ~95% pandas parity
- DataFrame — 134+ methods, ~90% pandas parity
- Top-level
pd.*— 30 functions:concat,merge,merge_asof,cut,qcut,crosstab,factorize,wide_to_long,json_normalize,date_range,to_datetime,pivot_table,melt,eval,infer_freq,get_dummies,from_dummies,isna,notna,unique,value_counts - GroupBy — 30+ methods on DataFrameGroupBy and SeriesGroupBy
- Rolling / Expanding / EWM — full window methods including
skew,kurt,sem,corr,cov - Resample — DataFrameResampler + SeriesResampler
.straccessor — 58 string methods.dtaccessor — 45 datetime properties/methods.cataccessor — 12 categorical methods- Index types — Index, RangeIndex, Int64Index, Float64Index, StringIndex, DatetimeIndex, MultiIndex
- Scalars — Timestamp, Timedelta with full arithmetic and parsing
- IO — CSV, JSON, Excel, Parquet, SQL, Feather, Pickle, Clipboard, HTML, XML, FWF (stub: HDF5, Stata)
- tseries.offsets — BusinessDay, MonthEnd, MonthBegin, YearEnd, YearBegin, QuarterEnd, QuarterBegin, Week, Day, Hour, Minute, Second, Milli, Micro, Nano, BusinessHour
- pd.testing —
assert_series_equal,assert_frame_equal,assert_index_equal - pd.eval — safe expression evaluator for DataFrame columns
- pd.infer_freq — detects
D,H,T,S,W,MS,ME,QS,QE,YS,YE - @cyfora/numera integration — hist, gradient, percentile, interp, average, norm, corrWithNumera, covWithNumera, ndiff, convolve, cumsumNumera, cumprodNumera; DataFrame.cov_matrix, corr_matrix
- 601 tests, 14 test files, 0 type errors