AI toolkit for tabular data — auto EDA, data profiling, anomaly detection, and smart transformations on DataFrames.
Project description
tableai
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 profiletableai.clean(df, **kwargs)-- Auto-clean DataFrametableai.anomalies(df, method="iqr")-- Detect anomaliestableai.transform(df, **kwargs)-- Smart feature engineeringtableai.insights(df)-- Auto-generate text insightstableai.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
- Website: nrl.ai
- Repository: github.com/vietanhdev/tableai
- Author: Viet-Anh Nguyen
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ca2fbe7ecdc188f1cb3820bc07c40b475340cdd77a4779d7c44eb0e5f39a642
|
|
| MD5 |
ba34e4b92c689a4611c1ac6a67243957
|
|
| BLAKE2b-256 |
73f80d3778dd89386f08e9d6b811653de3e5ba30f9fb2f35ea8f001f3ded21e4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f27215be175539abe64f78d9a047e21284bbfffaf0cb3bee8d3a421270d3b090
|
|
| MD5 |
01e7a512cc158a2f524d2c810fcc3a8c
|
|
| BLAKE2b-256 |
98a747a24b82159ae5cc351a429ed75d932676b791e422cb814456ecaed44d79
|