Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork53
pola-rs/nodejs-polars
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Polars: Blazingly fast DataFrames in Rust, Python, Node.js, R and SQL
Documentation:Node.js- Rust- Python- R|StackOverflow: Node.js- Rust- Python|User Guide|Discord
Note: This library is intended to work only with server side JS/TS (Node, Bun, Deno). For browser please seejs-polars
// esmimportplfrom'nodejs-polars';// requireconstpl=require('nodejs-polars');
>constfooSeries=pl.Series("foo",[1,2,3])>fooSeries.sum()6// a lot operations support both positional and named arguments// you can see the full specs in the docs or the type definitions>fooSeries.sort(true)>fooSeries.sort({descending:true})shape:(3,)Series:'foo'[f64][321]>fooSeries.toArray()[1,2,3]// Series are 'Iterables' so you can use javascript iterable syntax on them>[...fooSeries][1,2,3]>fooSeries[0]1
>constdf=pl.DataFrame(...{...A:[1,2,3,4,5],...fruits:["banana","banana","apple","apple","banana"],...B:[5,4,3,2,1],...cars:["beetle","audi","beetle","beetle","beetle"],...}...)>df.sort("fruits").select(..."fruits",..."cars",...pl.lit("fruits").alias("literal_string_fruits"),...pl.col("B").filter(pl.col("cars").eq(pl.lit("beetle"))).sum(),...pl.col("A").filter(pl.col("B").gt(2)).sum().over("cars").alias("sum_A_by_cars"),...pl.col("A").sum().over("fruits").alias("sum_A_by_fruits"),...pl.col("A").reverse().over("fruits").flatten().alias("rev_A_by_fruits")...)shape:(5,8)┌──────────┬──────────┬──────────────┬─────┬─────────────┬─────────────┬─────────────┐│fruits┆cars┆literal_stri┆B┆sum_A_by_ca┆sum_A_by_fr┆rev_A_by_fr││---┆---┆ng_fruits┆---┆rs┆uits┆uits││str┆str┆---┆i64┆---┆---┆---││┆┆str┆┆i64┆i64┆i64│╞══════════╪══════════╪══════════════╪═════╪═════════════╪═════════════╪═════════════╡│"apple"┆"beetle"┆"fruits"┆11┆4┆7┆4│├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤│"apple"┆"beetle"┆"fruits"┆11┆4┆7┆3│├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤│"banana"┆"beetle"┆"fruits"┆11┆4┆8┆5│├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤│"banana"┆"audi"┆"fruits"┆11┆2┆8┆2│├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤│"banana"┆"beetle"┆"fruits"┆11┆4┆8┆1│└──────────┴──────────┴──────────────┴─────┴─────────────┴─────────────┴─────────────┘
>df["cars"]// or df.getColumn("cars")shape:(5,)Series:'cars'[str]["beetle""beetle""beetle""audi""beetle"]
Install the latest polars version with:
$ yarn add nodejs-polars# yarn$ npm i -s nodejs-polars# npm$ bun i -D nodejs-polars# Bun
Releases happen quite often (weekly / every few days) at the moment, so updating polars regularly to get the latest bugfixes / features might not be a bad idea.
- Node version
>=18
- Rust version
>=1.86
-Only needed for development
In Deno modules you can import polars straight fromnpm
:
importplfrom"npm:nodejs-polars";
With Deno 1.37, you can use thedisplay
function to display aDataFrame
in the notebook:
importplfrom"npm:nodejs-polars";import{display}from"https://deno.land/x/display@v1.1.2/mod.ts";letresponse=awaitfetch("https://cdn.jsdelivr.net/npm/world-atlas@1/world/110m.tsv",);letdata=awaitresponse.text();letdf=pl.readCSV(data,{sep:"\t"});awaitdisplay(df)
With Deno 1.38, you only have to make the dataframe be the last expression in the cell:
importplfrom"npm:nodejs-polars";letresponse=awaitfetch("https://cdn.jsdelivr.net/npm/world-atlas@1/world/110m.tsv",);letdata=awaitresponse.text();letdf=pl.readCSV(data,{sep:"\t"});df

Want to know about all the features Polars supports? Read thedocs!
- Installation guide:
$ pip3 install polars
- Python documentation
- User guide
- Installation guide:
$ yarn install nodejs-polars
- Node documentation
Want to contribute? Read ourcontribution guideline.
If you want a bleeding edge release or maximal performance you should compilepolars from source.
- Install the latestRust compiler
- Run
npm|yarn install
- Choose any of:
- Fastest binary, very long compile times:
$cd nodejs-polars&& yarn build&& yarn build:ts# this will generate a /bin directory with the compiles TS code, as well as the rust binary
- Debugging, fastest compile times but slow & large binary:
$cd nodejs-polars&& yarn build:debug&& yarn build:ts# this will generate a /bin directory with the compiles TS code, as well as the rust binary
- Fastest binary, very long compile times:
To usenodejs-polars
withWebpack please usenode-loader andwebpack.config.js
Development of Polars is proudly powered by
About
nodejs front-end of polars
Topics
Resources
License
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.