Skip to content
benzsevern edited this page Mar 29, 2026 · 1 revision

FAQ

What file formats does infermap support?

CSV, Parquet, and Excel (.xlsx) for file-based mapping. Plus PostgreSQL, MySQL, SQLite, and DuckDB via connection strings. Polars and Pandas DataFrames for in-memory use.

Does infermap transform the data?

No. infermap only maps column names — it doesn't clean, reformat, or transform values. Use tools like GoldenFlow for data transformation.

How is this different from pandas rename?

pandas.rename() requires you to manually specify the mapping. infermap infers the mapping automatically by analyzing column names, value patterns, and statistical profiles.

Can I add my own matching logic?

Yes. Use the @infermap.scorer decorator to register a custom scorer:

@infermap.scorer(name="my_scorer", weight=0.7)
def my_scorer(source, target):
    return infermap.ScorerResult(score=0.8, reasoning="custom match")

What's the minimum confidence threshold?

Default is 0.3. Pairs below this are dropped. Configure with min_confidence parameter or --min-confidence CLI flag.

Can I reuse a mapping without re-running inference?

Yes. Save with result.to_config("mapping.yaml"), reload with infermap.from_config("mapping.yaml"). The saved config applies column renames directly.

How does it handle schema drift in databases?

The DBProvider introspects the live schema at runtime. If the target table gains or loses columns, the mapping adapts on the next run. Required fields that disappear generate warnings.

Does it support many-to-one or one-to-many mappings?

Not in v1. The Hungarian algorithm produces strictly 1:1 assignments. Composite column detection (e.g., full_name -> first_name + last_name) is planned for a future release.

Clone this wiki locally