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.1.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.1.0-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for planframe_pandas-1.1.0.tar.gz
Algorithm Hash digest
SHA256 24634bb2345560fc6f675e3229bbb81d961c92ea285f57095c8d939006ee328b
MD5 758ed4733c2dfc6bed02eda4673362d5
BLAKE2b-256 f8f17bbf0e2c9e55c523b18b8ecd8601064d2f0518e31ceed6b6d8e2ed49762e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for planframe_pandas-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2851251fe3c6c601f217b3f0858544e91ffa5e55db5a236e8599924fa63f422d
MD5 333f0745fe38621be10edd8c40c1126b
BLAKE2b-256 365b2bde04ac242d46fdb2f7bbaff512c52b968d31cfed4ee979dd4a57bf87c5

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