Skip to main content

Simple, Light-Weight Data Frames for Python

PyPI Downloads

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.

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)

Source distribution for dataiter 2.0
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)

Table of built distributions (wheels) for dataiter 2.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page