Skip to content

Infer nanoarrow schema from a Polars object

Description

Infer nanoarrow schema from a Polars object

Usage

## S3 method for class 'RPolarsDataFrame'
infer_nanoarrow_schema(x, ..., future = FALSE)

# S3 method for class 'RPolarsSeries'
infer_nanoarrow_schema(x, ..., future = FALSE)

Arguments

x A polars object
Ignored
future Setting this to TRUE will write Polars’ internal data structures that might not be available by other Arrow implementations. This functionality is considered unstable. It may be changed at any point without it being considered a breaking change.

Examples

library(polars)


library(nanoarrow)

pl_df = as_polars_df(mtcars)$select("mpg", "cyl")
pl_s = as_polars_series(letters)

infer_nanoarrow_schema(pl_df)
#> <nanoarrow_schema struct>
#>  $ format    : chr "+s"
#>  $ name      : chr ""
#>  $ metadata  : list()
#>  $ flags     : int 0
#>  $ children  :List of 2
#>   ..$ mpg:<nanoarrow_schema double>
#>   .. ..$ format    : chr "g"
#>   .. ..$ name      : chr "mpg"
#>   .. ..$ metadata  : list()
#>   .. ..$ flags     : int 2
#>   .. ..$ children  : list()
#>   .. ..$ dictionary: NULL
#>   ..$ cyl:<nanoarrow_schema double>
#>   .. ..$ format    : chr "g"
#>   .. ..$ name      : chr "cyl"
#>   .. ..$ metadata  : list()
#>   .. ..$ flags     : int 2
#>   .. ..$ children  : list()
#>   .. ..$ dictionary: NULL
#>  $ dictionary: NULL
infer_nanoarrow_schema(pl_s)
#> <nanoarrow_schema large_string>
#>  $ format    : chr "U"
#>  $ name      : chr ""
#>  $ metadata  : list()
#>  $ flags     : int 0
#>  $ children  : list()
#>  $ dictionary: NULL