Expand description
DataFrame / Series core for frankenpandas — the user-facing analytics surface, mirroring pandas’ DataFrame and Series APIs plus their groupby / window / resample / accessor families.
This is the largest workspace crate. It glues together:
- fp-types: scalar values, dtypes,
nan*reductions - fp-columnar: per-column storage (
Column) - fp-index: row labels and binary-op alignment
- fp-runtime: optional decision-recording policy
Most callers reach the contents of this crate via the
frankenpandas umbrella prelude (use frankenpandas::prelude::*)
or via direct imports (use fp_frame::DataFrame).
§Core data structures
DataFrame: columnar table with a rowIndexand an ordered column map. Constructors mirror pandas:from_dict,from_series,from_columns,from_records. Operations cover selection, mutation, reindexing, grouping, window-functions, joins, IO round-trips (via fp-io).Series: single-column labeled vector. Built-in arithmetic, reductions, and accessor families (string / datetime / categorical / sparse).FrameError: failure modes (column-not-found, length mismatch, dtype mismatch, alignment error, …).
§GroupBy and window operations
SeriesGroupBy(and the corresponding DataFrame-side wrappers): pandas.groupby()semantics including aggregation, transformation, filtering, andapply.Rolling/Expanding/Ewm: window-function builders for Series (rolling, expanding, exponentially-weighted moving stats).DataFrameRolling/DataFrameExpanding/DataFrameEwm: column-wise variants for DataFrame inputs.Resample/DataFrameResample: pandas.resample(freq)for time-indexed Series / DataFrames.
§Accessors
Mirror pandas .str / .dt / .cat / .sparse namespaces:
StringAccessor: vectorized string ops on Utf8 Series.DatetimeAccessor: per-element datetime field extraction. See alsoTzLocalizeOptions/TzAmbiguousPolicy/TzNonexistentPolicyfor tz-aware localization.CategoricalAccessor+CategoricalMetadata: ordered / unordered categorical type machinery.SparseAccessor: paired with fp-columnar’sSparseColumn.
§Type coercion (pandas pd.to_* analogs)
to_numeric: best-effort string -> Int64/Float64 witherrors='raise'|'coerce'semantics.to_datetime/to_datetime_with_format/to_datetime_with_unit/to_datetime_with_options: parse a Series of dates with explicit format / unit / origin (ToDatetimeOrigin) controls. Options bundle:ToDatetimeOptions.to_timedelta/to_timedelta_with_unit: parse ISO-8601 / pandas-shorthand durations.ToTimedeltaOptions/ToTimedeltaErrorsfor tunables.
§Frame combination
concat_dataframes, concat_series, concat_dataframes_with_*
variants mirror pd.concat(..., axis=, join=, ignore_index=, keys=). Merge / join helpers live in the sibling fp-join
crate (merge_dataframes_on, merge_asof, merge_ordered,
join_series).
§SQL IO
Read / write IO for DataFrames lives in fp-io, which exposes
the DataFrameIoExt
extension trait so users can call df.to_parquet(path),
df.to_sql(conn, ..), etc. directly on values from this crate.
Structs§
- BoxPlot
Spec - Backend-neutral boxplot request produced by
boxplot()hooks. - Categorical
Accessor - Accessor for categorical operations on a Series.
- Categorical
Metadata - Metadata for categorical (factor) data.
- Data
Frame - Data
Frame CsvRead Options - Data
Frame Dict Split - Data
Frame Dict Tight - Pandas 2.2
to_dict(orient='tight')payload. - Data
Frame Ewm - Exponentially weighted moving window over a DataFrame’s numeric columns.
- Data
Frame Expanding - Expanding window aggregation over a DataFrame’s numeric columns.
- Data
Frame Flags - Data
Frame Group By - Deferred GroupBy object for DataFrame.
- Data
Frame Resample - Time-based resampling view over a DataFrame’s numeric columns.
- Data
Frame Rolling - Rolling window aggregation over a DataFrame’s numeric columns.
- Data
FrameX Array Dataset - Data
FrameX Array Variable - Datetime
Accessor - Ewm
- Exponentially weighted moving window aggregation over a Series.
- Expanding
- Expanding window aggregation over a Series.
- Group
ByEwm - Grouped exponentially weighted window over a
DataFrameGroupBy. - Group
ByExpanding - Grouped expanding window over a
DataFrameGroupBy. - Group
ByResample - Grouped resampling over a
DataFrameGroupBy. - Group
ByRolling - Grouped rolling window over a
DataFrameGroupBy. - Histogram
Spec - Backend-neutral histogram request produced by
hist()hooks. - List
Accessor - Accessor for list operations on a Series.
- Online
Ewm - Streaming EWM accumulator. Returned by
Ewm::online. - Plot
Series Spec - One logical series ready for a future plotting backend.
- Plot
Spec - Backend-neutral plot request produced by
plot()hooks. - Resample
- Time-based resampling view over a Series.
- Rolling
- Rolling window aggregation over a Series.
- Series
- Series
Group By - GroupBy for Series, grouping by values of another Series.
- Series
Group ByEwm - Grouped exponentially weighted window over a
SeriesGroupBy. - Series
Group ByExpanding - Grouped expanding window over a
SeriesGroupBy. - Series
Group ByResample - Grouped resampling over a
SeriesGroupBy. - Series
Group ByRolling - Grouped rolling window over a
SeriesGroupBy. - SeriesX
Array Data Array - xarray DataArray representation of a Series.
- Sparse
Accessor - Accessor for sparse operations on a Series.
- Sparse
Data Frame View - String
Accessor - Created by
Series::str(). Provides string manipulation methods analogous to pandasSeries.strnamespace. - Struct
Accessor - Accessor for struct operations on a Series.
- Styled
Data Frame - ToDatetime
Options - ToTimedelta
Options - Options for to_timedelta conversion.
- TzLocalize
Options
Enums§
- Concat
Join - CsvQuoting
- Data
Frame Arithmetic Operand - Data
Frame Column Input - Data
Frame Comparison Operand - Data
Frame Dict Axis Labels - Data
Frame Dict Result - Drop
NaHow - Frame
Error - Plot
Kind - Logical plot kind requested by a pandas-style plotting hook.
- Series
Reset Index Result - ToDatetime
Origin - ToTimedelta
Errors - Error handling mode for to_timedelta conversions.
- TzAmbiguous
Policy - Datetime accessor for Series, analogous to
pd.Series.dt. - TzNonexistent
Policy
Traits§
Functions§
- concat_
dataframes - Concatenate DataFrames along axis 0 (row-wise).
- concat_
dataframes_ with_ axis - Concatenate DataFrames along the requested axis.
- concat_
dataframes_ with_ axis_ join - Concatenate DataFrames along axis with explicit join policy.
- concat_
dataframes_ with_ ignore_ index - Concatenate DataFrames along axis 0 with optional index reset.
- concat_
dataframes_ with_ keys - Concatenate DataFrames with keys for hierarchical labeling.
- concat_
series - Concatenate multiple Series along axis 0 (row-wise).
- concat_
series_ with_ ignore_ index - Concatenate Series with optional index reset.
- cut
- index_
to_ frame - Convert an Index to a single-column DataFrame.
- index_
to_ series - Convert an Index to a Series.
- qcut
- Quantile-based binning.
- timedelta_
total_ seconds - Convert a timedelta-like Series to total seconds as Float64.
- to_
datetime - Convert a Series of strings or integers to normalized ISO 8601 datetime strings.
- to_
datetime_ with_ format - Convert to datetime with an explicit format string.
- to_
datetime_ with_ options - Convert to datetime with explicit pandas-like options.
- to_
datetime_ with_ unit - Convert numeric epoch values using an explicit unit.
- to_
numeric - Convert a Series to a numeric dtype.
- to_
timedelta - Convert a Series of strings or numbers to Timedelta64 representation.
- to_
timedelta_ with_ options - Convert to timedelta with explicit options.
- to_
timedelta_ with_ unit - Convert numeric values to timedelta using explicit unit.