Expand description
Merge / join engine for frankenpandas — implements
pandas-shape pd.merge / pd.merge_ordered / pd.merge_asof
/ Series.join for DataFrame and Series operands.
§Why a separate crate
Joins have substantial machinery — hash-build phases, asof search, validate-mode integrity checks, bumpalo-backed intermediate buffers — that doesn’t belong inside fp-frame’s row/column primitives. fp-join layers on top of fp-columnar / fp-index / fp-frame and exposes a merge surface matching the pandas API shape.
§Top-level entry points
join_series/join_series_with_options: pandasSeries.join(other, how=...). Returns aJoinedSeries.merge_dataframes: index-on-index merge (pandasdf.merge(other, left_index=True, right_index=True)).merge_dataframes_on/merge_dataframes_on_with/merge_dataframes_on_with_options: column-key merge (pd.merge(left, right, on=...)). Returns aMergedDataFrame.merge_ordered: pandaspd.merge_ordered(left, right, on=...)— preserves ordering for time-series merges.merge_asof/merge_asof_with_options: pandaspd.merge_asof(left, right, on=..., direction=...)for nearest-key time-aware merges.AsofDirection/MergeAsofOptionstune the search.
§DataFrame extension trait
DataFrameMergeExt adds df.merge(...) / df.join(...)
method-style entry points so callers get fluent chaining
after use fp_join::DataFrameMergeExt;.
§Tunables
JoinType:Inner/Left/Right/Outer/Cross.MergeValidateMode: pandasvalidate='one_to_one' | 'one_to_many' | 'many_to_one' | 'many_to_many'integrity check before producing the result.JoinExecutionOptions/MergeExecutionOptions: per-call knobs (suffixes for overlapping columns, indicator column, sort policy, …).
§Error reporting
JoinError enumerates the failure modes (key column
mismatch, validate-mode violation, dtype mismatch on key
column, …).
§Cross-crate relationships
- fp-columnar (
Column,ColumnError) for column storage operations. - fp-frame for the
DataFrame/Seriesvalue types. - fp-index for row alignment plans + label types.
- fp-types for the underlying scalar machinery.
Structs§
- Join
Execution Options - Joined
Series - Merge
Asof Options - Options for asof merge operations.
- Merge
Execution Options - Merged
Data Frame - Result of a DataFrame merge operation.
Enums§
- Asof
Direction - Direction for asof merge matching.
- Join
Error - Join
Type - Merge
Validate Mode
Constants§
Traits§
- Data
Frame Merge Ext - Extension trait adding
.merge()and.join()instance methods toDataFrame.
Functions§
- join_
series - join_
series_ with_ options - merge_
asof - Perform an asof merge between two DataFrames.
- merge_
asof_ with_ options - Perform an asof merge between two DataFrames with additional options.
- merge_
dataframes - Merge two DataFrames on a single key column.
- merge_
dataframes_ on - Merge two DataFrames on one or more key columns with identical key names.
- merge_
dataframes_ on_ with - Merge two DataFrames on one or more key columns.
- merge_
dataframes_ on_ with_ options - Merge two DataFrames on one or more key columns with execution options.
- merge_
ordered - Perform an ordered merge of two DataFrames.