Skip to main content

pandas backend adapter for PlanFrame.

Project description

planframe-pandas

Docs PyPI License: MIT

pandas adapter package for PlanFrame. Import as planframe_pandas.

Documentation (ReadTheDocs):

  • pandas track (end users): https://planframe.readthedocs.io/en/latest/planframe_pandas/
  • Light API reference: https://planframe.readthedocs.io/en/latest/planframe_pandas/reference/api/

Install

pip install planframe-pandas

Usage

from planframe_pandas import PandasFrame


class User(PandasFrame):
    id: int
    age: int


pf = User([{"id": 1, "age": 10}, {"id": 2, "age": 20}])
rows = pf.select("id").to_dicts()

Notes

  • PandasFrame subclasses core planframe.pandas.PandasLikeFrame, so you get pandas-flavored helpers (assign, sort_values, boolean indexing, column filter, astype, eval, drop_duplicates, …) on top of the shared Frame plan. See the pandas-like API guide.
  • PlanFrame is always lazy: chaining does not touch backend data; execution happens at collect() boundaries.
  • collect() returns list[pydantic.BaseModel]. Use collect_backend() for a pandas.DataFrame, or stream_dicts() / stream() to iterate rows (see Streaming rows).

Common transforms

  • with_row_index(name="row_nr", offset=0): add a monotonically increasing row number column.
  • clip(lower=..., upper=..., subset=...): clamp numeric columns (if subset=None, clamps all numeric schema fields).
  • cast_many / cast_subset: multi-column cast helpers.
  • fill_null_many / fill_null_subset: multi-column fill-null helpers.
  • rename_upper/lower/title/strip(...): schema-driven rename helpers.
  • pivot_longer(...) / pivot_wider(...): reshape convenience wrappers around melt / pivot.

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

planframe_pandas-1.0.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

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

planframe_pandas-1.0.0-py3-none-any.whl (15.5 kB view details)

Uploaded Python 3

File details

Details for the file planframe_pandas-1.0.0.tar.gz.

File metadata

  • Download URL: planframe_pandas-1.0.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for planframe_pandas-1.0.0.tar.gz
Algorithm Hash digest
SHA256 22ae0334c0ff85486a8a57315ce7fd142b8e80d07b3201c2aa7cd82f08b3d3bf
MD5 b36242e357625fc13cf67173a96431b9
BLAKE2b-256 03aba0c1654dc52b0c526ef2e2eb32decb1aba944602614f7ed6e0560fc855ea

See more details on using hashes here.

File details

Details for the file planframe_pandas-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for planframe_pandas-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e8a365cc41bfe4ae27d4563fd60554a2694a47d15ab6b0f7cad25f1b29ef0c7a
MD5 3c3a3bbf275b64a257a6a511d73b06a6
BLAKE2b-256 4c38cea00bdf1b3ad66a9c7f4bd017ab75dc5172c3ecc48fea8ec74733958cb9

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