Skip to content

Polars DataFrame Integration

This functionality is in Alpha and may behave unexpectedly

Rayforce-Py provides seamless conversion from Polars DataFrames to Rayforce-Py Tables

Installation

The polars integration is available as an optional dependency. Install it with:

pip install rayforce-py[polars]

Basic Usage

To convert a Polars DataFrame to a Rayforce Table, import the from_polars function:

>>> import polars as pl
>>> from rayforce.plugins.polars import from_polars

>>> df = pl.DataFrame({
...     "id": [1, 2, 3, 4, 5],
...     "name": ["Alice", "Bob", "Charlie", "Diana", "Eve"],
...     "age": [25, 30, 35, 28, 32],
...     "salary": [50000.0, 60000.0, 70000.0, 55000.0, 65000.0],
...     "active": [True, True, False, True, False],
... })

>>> table = from_polars(df)
>>> table
Table[Symbol('id'), Symbol('name'), Symbol('age'), Symbol('salary'), Symbol('active')]

>>> print(table)
┌─────┬─────────┬─────┬─────────┬────────┐
│ id  │  name   │ age │ salary  │ active │
│ I64 │   SYM   │ I64 │   F64   │   B8   │
├─────┼─────────┼─────┼─────────┼────────┤
│ 1   │ Alice   │ 25  │ 50000.0 │ true   │
│ 2   │ Bob     │ 30  │ 60000.0 │ true   │
│ 3   │ Charlie │ 35  │ 70000.0 │ false  │
│ 4   │ Diana   │ 28  │ 55000.0 │ true   │
│ 5   │ Eve     │ 32  │ 65000.0 │ false  │
├─────┴─────────┴─────┴─────────┴────────┤
│ 5 rows (5 shown) 5 columns (5 shown)   │
└────────────────────────────────────────┘

Type Conversion

The from_polars() function automatically infers Rayforce types from Polars dtypes:

Polars dtype Rayforce Type
Int8, Int16 I16
Int32 I32
Int64 I64
Float32, Float64 F64
Boolean B8
String, Utf8 Symbol
Date Date
Datetime Timestamp