Skip to main content

AI toolkit for tabular data — auto EDA, data profiling, anomaly detection, and smart transformations on DataFrames.

Project description

tableai

tableai logo

PyPI Python License

AI toolkit for tabular data -- auto EDA, data profiling, anomaly detection, and smart transformations on DataFrames. The pandas AI companion.

Runs completely offline. All processing uses local pandas/numpy/scikit-learn. No cloud APIs or internet connection required.

Built by Viet-Anh Nguyen | GitHub


Installation

pip install tableai

With optional dependencies:

pip install tableai[ml]    # scikit-learn for Isolation Forest anomaly detection
pip install tableai[viz]   # matplotlib + seaborn for visualizations
pip install tableai[all]   # everything

Quick Start

import pandas as pd
import tableai

df = pd.read_csv("your_data.csv")

# Comprehensive data profile
report = tableai.profile(df)
print(report)

Output:

=== Data Profile ===
Shape: (1000, 8)
Memory usage: 62.6 KB

Column Profiles:
  age (int64)
    Non-null: 950 / 1000 (95.0%)  |  Unique: 60
    Mean: 35.2  |  Std: 12.1  |  Min: 18.0  |  Max: 75.0

  city (object)
    Non-null: 980 / 1000 (98.0%)  |  Unique: 25
    Top values: New York (120), London (98), Tokyo (85)
...

Auto-Clean

cleaned_df = tableai.clean(df)
# Fills missing values, removes duplicates, fixes dtypes, handles outliers

Anomaly Detection

result = tableai.anomalies(df)
print(result)

Output:

=== Anomaly Report ===
Method: iqr
Total rows flagged: 42 / 1000 (4.2%)

  salary: 18 anomalies (min_bound=20000, max_bound=150000)
  age: 7 anomalies (min_bound=5, max_bound=80)
...

Auto Insights

insights = tableai.insights(df)
for insight in insights:
    print(f"- {insight}")

Output:

- Column 'age' has 5.0% missing values
- Strong positive correlation (0.87) between 'hours_worked' and 'salary'
- Column 'income' is highly skewed (skewness=2.31)
- Column 'city' has high cardinality (250 unique values out of 1000 rows)

DataFrame Comparison

diff = tableai.compare(df_old, df_new)
print(diff)

Smart Transformations

transformed_df = tableai.transform(df)
# Auto-encodes categoricals, scales numerics, extracts datetime features

Comparison with Alternatives

Feature tableai pandas-profiling sweetviz
Zero-config profiling Yes Yes Yes
Auto-cleaning Yes No No
Anomaly detection Yes No No
Smart transforms Yes No No
Auto insights (text) Yes No No
DataFrame comparison Yes No Yes
Lightweight (no heavy deps) Yes No No
Notebook-friendly output Yes Yes Yes

API Reference

  • tableai.profile(df) -- Comprehensive data profile
  • tableai.clean(df, **kwargs) -- Auto-clean DataFrame
  • tableai.anomalies(df, method="iqr") -- Detect anomalies
  • tableai.transform(df, **kwargs) -- Smart feature engineering
  • tableai.insights(df) -- Auto-generate text insights
  • tableai.compare(df1, df2) -- Compare two DataFrames

Local-First / Edge AI

This package is designed to work completely offline. All data profiling, cleaning, anomaly detection, and transformations run locally using pandas, numpy, and scikit-learn. No internet connection or cloud APIs are required.

License

MIT License. See LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tableai-0.2.0.tar.gz (33.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tableai-0.2.0-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file tableai-0.2.0.tar.gz.

File metadata

  • Download URL: tableai-0.2.0.tar.gz
  • Upload date:
  • Size: 33.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tableai-0.2.0.tar.gz
Algorithm Hash digest
SHA256 3ca2fbe7ecdc188f1cb3820bc07c40b475340cdd77a4779d7c44eb0e5f39a642
MD5 ba34e4b92c689a4611c1ac6a67243957
BLAKE2b-256 73f80d3778dd89386f08e9d6b811653de3e5ba30f9fb2f35ea8f001f3ded21e4

See more details on using hashes here.

File details

Details for the file tableai-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: tableai-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for tableai-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f27215be175539abe64f78d9a047e21284bbfffaf0cb3bee8d3a421270d3b090
MD5 01e7a512cc158a2f524d2c810fcc3a8c
BLAKE2b-256 98a747a24b82159ae5cc351a429ed75d932676b791e422cb814456ecaed44d79

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page