Python SDK
fs.profile()
SDK Reference: statistical profiling
python
def profile( source: object, *, max_correlation_columns: int = 100, max_frequency_table_size: int = 1000) -> ProfileResult:Profile a Dataset or tabular source directly, executing vectorized summaries and returning a strongly-typed, serializable ProfileResult.
When to Use It
Use when you need detailed statistical profiles of dataset columns (min, max, mean, quantiles, missingness, cardinality, frequency tables, correlations) without running rule evaluations or review scoring.
Arguments
- source:
Dataset|str|DataFrame. Pre-loaded Dataset or file/data source. - max_correlation_columns:
int(default 100). Column cap for Pearson correlation computations to prevent combinatorial blowup. - max_frequency_table_size:
int(default 1000). Maximum unique categories to track in frequency table summaries.
Return Value
Returns a frozen ProfileResult dataclass containing dataset_summary, column_profiles, typed profiles (numeric_profiles, categorical_profiles, datetime_profiles, text_profiles), missingness & duplicate summaries, correlation matrices, and execution metadata.
Exceptions
ConnectorError: Raised if an unresolved file path or invalid DataFrame source fails to load before profiling.
Example
python
import featuresmith as fsprofile = fs.profile("customers.csv", max_correlation_columns=50)# Inspect column summariesprint(profile.column_profiles["age"].missing_count)print(profile.dataset_summary.row_count)print(profile.numeric_profiles["income"].mean)Notes and Limitations
- Deterministic Engine: Computations run on Polars or pandas backend using vectorized primitives.
- Frozen Output: The returned
ProfileResultis fully frozen, slotted, and serializable viaprofile.to_dict().