Method: Polars::Expr#reinterpret

Defined in:
lib/polars/expr.rb

#reinterpret(signed: nil) ⇒ Expr

Reinterpret the underlying bits as a signed/unsigned integer.

This operation is only allowed for 64bit integers. For lower bits integers, you can safely use that cast operation.

Examples:

s = Polars::Series.new("a", [1, 1, 2], dtype: Polars::UInt64)
df = Polars::DataFrame.new([s])
df.select(
  [
    Polars.col("a").reinterpret(signed: true).alias("reinterpreted"),
    Polars.col("a").alias("original")
  ]
)
# =>
# shape: (3, 2)
# ┌───────────────┬──────────┐
# │ reinterpreted ┆ original │
# │ ---           ┆ ---      │
# │ i64           ┆ u64      │
# ╞═══════════════╪══════════╡
# │ 1             ┆ 1        │
# │ 1             ┆ 1        │
# │ 2             ┆ 2        │
# └───────────────┴──────────┘

Parameters:

  • signed (Boolean) (defaults to: nil)

    If true, reinterpret as Polars::Int64. Otherwise, reinterpret as Polars::UInt64.

Returns:



4535
4536
4537
4538
4539
4540
4541
4542
4543
# File 'lib/polars/expr.rb', line 4535

def reinterpret(signed: nil)
  # TODO update
  if signed.nil?
    warn "The default `signed` for `reinterpret` method will change from `false` to `true` in a future version"
    signed = false
  end

  wrap_expr(_rbexpr.reinterpret(signed))
end