Simple, Light-Weight Data Frames for Python
Dataiter's DataFrame is a class for tabular data similar to R's
data.frame, implementing all common operations to manipulate data. It
is under the hood a dictionary of NumPy arrays and thus capable of fast
vectorized operations. You can consider it to be a light-weight
alternative to Pandas with a simple and consistent API. Performance-wise
Dataiter relies on NumPy and PyArrow and is close to the level of
Pandas. Currently the notable slow part is string data and operations
(Dataiter's NumPy StringDType being slower than Pandas' Arrow strings).
Installation
# Latest stable version
pip install -U dataiter
# Latest development version
pip install -U git+https://github.com/otsaloma/dataiter
Quick Start
>>> import dataiter as di
>>> data = di.read_csv("data/listings.csv")
>>> data.filter(hood="Manhattan", guests=2).sort(price=1).head()
.
id hood zipcode guests sqft price
int64 string string int64 float64 int64
──────── ───────── ─────── ────── ─────── ─────
0 42279170 Manhattan 10013 2 nan 0
1 42384530 Manhattan 10036 2 nan 0
2 18835820 Manhattan 10021 2 nan 10
3 20171179 Manhattan 10027 2 nan 10
4 14858544 Manhattan 2 nan 15
5 31397084 Manhattan 10002 2 nan 19
6 22289683 Manhattan 10031 2 nan 20
7 7760204 Manhattan 10040 2 nan 22
8 43292527 Manhattan 10033 2 nan 22
9 43268040 Manhattan 10033 2 nan 23
.
Documentation
https://dataiter.readthedocs.io/
If you're familiar with either dplyr (R) or Pandas (Python), the comparison table in the documentation will give you a quick overview of the differences and similarities in common operations.
https://dataiter.readthedocs.io/en/stable/comparison.html
For Coding Agents
Dataiter's API is small enough that the complete documentation fits in
about 50k tokens. Coding agents can read all of it in one go and know
the whole API before writing any code. This differs from bigger
packages, like Pandas and Polars, which must fight against outdated
training data and introduce their huge API piecemeal, hoping the agent
knows what to ask for. For best results, have your agent download
llms-full.txt and read it in full, rather than fetch it with a tool
that summarizes web pages. Each documentation page is also available as
Markdown by replacing .html with .md in the URL.
- https://dataiter.readthedocs.io/en/stable/llms-full.txt
- https://dataiter.readthedocs.io/en/stable/data-frame.md
Development
Install uv from https://docs.astral.sh/uv/ and then run
uv sync
Metadata
Release files for dataiter 2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dataiter-2.0.tar.gz | 101.8 kB | Without provenance | Details for dataiter-2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dataiter-2.0-py3-none-any.whl | Python 3 | none | any | Details for dataiter-2.0-py3-none-any.whl |
Total release size: 223.3 kB
Release files / dataiter-2.0.tar.gz
| Download URL | dataiter-2.0.tar.gz |
|---|---|
| Size | 101.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5f3f66c5b2cefc6a0622effb97034efafa8e38a9d745e64f99d08ca20df957be
|
|
BLAKE2b-256 checksum How to use checksums |
1efe80fccb8be61ca6a1c1d8a85dbb692e3205abe5502baa3f9dc35401271569
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / dataiter-2.0-py3-none-any.whl
| Download URL | dataiter-2.0-py3-none-any.whl |
|---|---|
| Size | 121.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d0da9ddd078c23696ed45ef407293fd62a2d712cfbc87cb8cc5e7f129381c754
|
|
BLAKE2b-256 checksum How to use checksums |
43fa691b6aa889ee6e5b7c3edcce2b30eb4bebb5536ff19b6fd04074a8cb104a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for dataiter 2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.