diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/assets/highlight.css b/assets/highlight.css new file mode 100644 index 00000000..4d80e3fb --- /dev/null +++ b/assets/highlight.css @@ -0,0 +1,134 @@ +:root { + --light-hl-0: #008000; + --dark-hl-0: #6A9955; + --light-hl-1: #AF00DB; + --dark-hl-1: #C586C0; + --light-hl-2: #000000; + --dark-hl-2: #D4D4D4; + --light-hl-3: #001080; + --dark-hl-3: #9CDCFE; + --light-hl-4: #A31515; + --dark-hl-4: #CE9178; + --light-hl-5: #0000FF; + --dark-hl-5: #569CD6; + --light-hl-6: #0070C1; + --dark-hl-6: #4FC1FF; + --light-hl-7: #795E26; + --dark-hl-7: #DCDCAA; + --light-hl-8: #098658; + --dark-hl-8: #B5CEA8; + --light-hl-9: #000000; + --dark-hl-9: #C8C8C8; + --light-hl-10: #EE0000; + --dark-hl-10: #D7BA7D; + --light-hl-11: #811F3F; + --dark-hl-11: #D16969; + --light-hl-12: #D16969; + --dark-hl-12: #CE9178; + --light-hl-13: #000000; + --dark-hl-13: #D7BA7D; + --light-hl-14: #CD3131; + --dark-hl-14: #F44747; + --light-hl-15: #000000FF; + --dark-hl-15: #D4D4D4; + --light-code-background: #FFFFFF; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); + --code-background: var(--dark-code-background); +} } + +:root[data-theme='light'] { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --hl-12: var(--light-hl-12); + --hl-13: var(--light-hl-13); + --hl-14: var(--light-hl-14); + --hl-15: var(--light-hl-15); + --code-background: var(--light-code-background); +} + +:root[data-theme='dark'] { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --hl-12: var(--dark-hl-12); + --hl-13: var(--dark-hl-13); + --hl-14: var(--dark-hl-14); + --hl-15: var(--dark-hl-15); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +.hl-12 { color: var(--hl-12); } +.hl-13 { color: var(--hl-13); } +.hl-14 { color: var(--hl-14); } +.hl-15 { color: var(--hl-15); } +pre, code { background: var(--code-background); } diff --git a/assets/icons.js b/assets/icons.js new file mode 100644 index 00000000..e88e8ca7 --- /dev/null +++ b/assets/icons.js @@ -0,0 +1,18 @@ +(function() { + addIcons(); + function addIcons() { + if (document.readyState === "loading") return document.addEventListener("DOMContentLoaded", addIcons); + const svg = document.body.appendChild(document.createElementNS("http://www.w3.org/2000/svg", "svg")); + svg.innerHTML = `""`; + svg.style.display = "none"; + if (location.protocol === "file:") updateUseElements(); + } + + function updateUseElements() { + document.querySelectorAll("use").forEach(el => { + if (el.getAttribute("href").includes("#icon-")) { + el.setAttribute("href", el.getAttribute("href").replace(/.*#/, "#")); + } + }); + } +})() \ No newline at end of file diff --git a/assets/icons.svg b/assets/icons.svg new file mode 100644 index 00000000..e371b8b5 --- /dev/null +++ b/assets/icons.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/assets/main.js b/assets/main.js new file mode 100644 index 00000000..21a5d74d --- /dev/null +++ b/assets/main.js @@ -0,0 +1,60 @@ +"use strict"; +window.translations={"copy":"Copy","copied":"Copied!","normally_hidden":"This member is normally hidden due to your filter settings."}; +"use strict";(()=>{var Pe=Object.create;var ie=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Fe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _e(e))!Me.call(t,i)&&i!==n&&ie(t,i,{get:()=>e[i],enumerable:!(r=Oe(e,i))||r.enumerable});return t};var Ae=(t,e,n)=>(n=t!=null?Pe(Re(t)):{},De(e||!t||!t.__esModule?ie(n,"default",{value:t,enumerable:!0}):n,t));var ue=Fe((ae,le)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),m=s.str.charAt(1),p;m in s.node.edges?p=s.node.edges[m]:(p=new t.TokenSet,s.node.edges[m]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof ae=="object"?le.exports=n():e.lunr=n()}(this,function(){return t})})()});var se=[];function G(t,e){se.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){se.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!Ve(e)){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r,document.querySelector(".col-sidebar").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(!n)return;let r=n.offsetParent==null,i=n;for(;i!==document.body;)i instanceof HTMLDetailsElement&&(i.open=!0),i=i.parentElement;if(n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let s=document.createElement("p");s.classList.add("warning"),s.textContent=window.translations.normally_hidden,n.prepend(s)}r&&e.scrollIntoView()}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent=window.translations.copied,e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent=window.translations.copy},100)},1e3)})})}};function Ve(t){let e=t.getBoundingClientRect(),n=Math.max(document.documentElement.clientHeight,window.innerHeight);return!(e.bottom<0||e.top-n>=0)}var oe=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var pe=Ae(ue());async function ce(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=pe.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function fe(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{ce(e,t)}),ce(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");i.addEventListener("mouseup",()=>{te(t)}),r.addEventListener("focus",()=>t.classList.add("has-focus")),He(t,i,r,e)}function He(t,e,n,r){n.addEventListener("input",oe(()=>{Ne(t,e,n,r)},200)),n.addEventListener("keydown",i=>{i.key=="Enter"?Be(e,t):i.key=="ArrowUp"?(de(e,n,-1),i.preventDefault()):i.key==="ArrowDown"&&(de(e,n,1),i.preventDefault())}),document.body.addEventListener("keypress",i=>{i.altKey||i.ctrlKey||i.metaKey||!n.matches(":focus")&&i.key==="/"&&(i.preventDefault(),n.focus())}),document.body.addEventListener("keyup",i=>{t.classList.contains("has-focus")&&(i.key==="Escape"||!e.matches(":focus-within")&&!n.matches(":focus"))&&(n.blur(),te(t))})}function te(t){t.classList.remove("has-focus")}function Ne(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=he(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` + ${he(l.parent,i)}.${d}`);let m=document.createElement("li");m.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,m.append(p),p.addEventListener("focus",()=>{e.querySelector(".current")?.classList.remove("current"),m.classList.add("current")}),e.appendChild(m)}}function de(t,e,n){let r=t.querySelector(".current");if(!r)r=t.querySelector(n==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let i=r;if(n===1)do i=i.nextElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);else do i=i.previousElementSibling??void 0;while(i instanceof HTMLElement&&i.offsetParent==null);i?(r.classList.remove("current"),i.classList.add("current")):n===-1&&(r.classList.remove("current"),e.focus())}}function Be(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),te(e)}}function he(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(ee(t.substring(s,o)),`${ee(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(ee(t.substring(s))),i.join("")}var je={"&":"&","<":"<",">":">","'":"'",'"':"""};function ee(t){return t.replace(/[&<>"'"]/g,e=>je[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",ye="mousemove",N="mouseup",J={x:0,y:0},me=!1,ne=!1,qe=!1,D=!1,ve=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(ve?"is-mobile":"not-mobile");ve&&"ontouchstart"in document.documentElement&&(qe=!0,F="touchstart",ye="touchmove",N="touchend");document.addEventListener(F,t=>{ne=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(ye,t=>{if(ne&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(N,()=>{ne=!1});document.addEventListener("click",t=>{me&&(t.preventDefault(),t.stopImmediatePropagation(),me=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(N,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(N,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var re;try{re=localStorage}catch{re={getItem(){return null},setItem(){}}}var Q=re;var ge=document.head.appendChild(document.createElement("style"));ge.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ge.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } +`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function Ee(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,xe(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),xe(t.value)})}function xe(t){document.documentElement.dataset.theme=t}var K;function we(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",Le),Le())}async function Le(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();K=t.dataset.base,K.endsWith("/")||(K+="/"),t.innerHTML="";for(let s of i)Se(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function Se(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-accordion`:"tsd-accordion";let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.dataset.key=i.join("$"),o.innerHTML='',be(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)Se(u,l,i)}else be(t,r,t.class)}function be(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=K+t.path,n&&(r.className=n),location.pathname===r.pathname&&!r.href.includes("#")&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Te=document.getElementById("tsd-theme");Te&&Ee(Te);var $e=new U;Object.defineProperty(window,"app",{value:$e});fe();we();})(); +/*! Bundled license information: + +lunr/lunr.js: + (** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + *) + (*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + *) + (*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + *) + (*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + *) +*/ diff --git a/assets/navigation.js b/assets/navigation.js new file mode 100644 index 00000000..88fdf83d --- /dev/null +++ b/assets/navigation.js @@ -0,0 +1 @@ +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/assets/search.js b/assets/search.js new file mode 100644 index 00000000..8e8ff42b --- /dev/null +++ b/assets/search.js @@ -0,0 +1 @@ +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/assets/style.css b/assets/style.css new file mode 100644 index 00000000..9d619a64 --- /dev/null +++ b/assets/style.css @@ -0,0 +1,1448 @@ +:root { + /* Light */ + --light-color-background: #f2f4f8; + --light-color-background-secondary: #eff0f1; + --light-color-warning-text: #222; + --light-color-background-warning: #e6e600; + --light-color-icon-background: var(--light-color-background); + --light-color-accent: #c5c7c9; + --light-color-active-menu-item: var(--light-color-accent); + --light-color-text: #222; + --light-color-text-aside: #6e6e6e; + --light-color-link: #1f70c2; + --light-color-focus-outline: #3584e4; + + --light-color-ts-keyword: #056bd6; + --light-color-ts-project: #b111c9; + --light-color-ts-module: var(--light-color-ts-project); + --light-color-ts-namespace: var(--light-color-ts-project); + --light-color-ts-enum: #7e6f15; + --light-color-ts-enum-member: var(--light-color-ts-enum); + --light-color-ts-variable: #4760ec; + --light-color-ts-function: #572be7; + --light-color-ts-class: #1f70c2; + --light-color-ts-interface: #108024; + --light-color-ts-constructor: var(--light-color-ts-class); + --light-color-ts-property: var(--light-color-ts-variable); + --light-color-ts-method: var(--light-color-ts-function); + --light-color-ts-call-signature: var(--light-color-ts-method); + --light-color-ts-index-signature: var(--light-color-ts-property); + --light-color-ts-constructor-signature: var(--light-color-ts-constructor); + --light-color-ts-parameter: var(--light-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --light-color-ts-type-parameter: #a55c0e; + --light-color-ts-accessor: var(--light-color-ts-property); + --light-color-ts-get-signature: var(--light-color-ts-accessor); + --light-color-ts-set-signature: var(--light-color-ts-accessor); + --light-color-ts-type-alias: #d51270; + /* reference not included as links will be colored with the kind that it points to */ + --light-color-document: #000000; + + --light-external-icon: url("data:image/svg+xml;utf8,"); + --light-color-scheme: light; + + /* Dark */ + --dark-color-background: #2b2e33; + --dark-color-background-secondary: #1e2024; + --dark-color-background-warning: #bebe00; + --dark-color-warning-text: #222; + --dark-color-icon-background: var(--dark-color-background-secondary); + --dark-color-accent: #9096a2; + --dark-color-active-menu-item: #5d5d6a; + --dark-color-text: #f5f5f5; + --dark-color-text-aside: #dddddd; + --dark-color-link: #00aff4; + --dark-color-focus-outline: #4c97f2; + + --dark-color-ts-keyword: #3399ff; + --dark-color-ts-project: #e358ff; + --dark-color-ts-module: var(--dark-color-ts-project); + --dark-color-ts-namespace: var(--dark-color-ts-project); + --dark-color-ts-enum: #f4d93e; + --dark-color-ts-enum-member: var(--dark-color-ts-enum); + --dark-color-ts-variable: #798dff; + --dark-color-ts-function: #a280ff; + --dark-color-ts-class: #8ac4ff; + --dark-color-ts-interface: #6cff87; + --dark-color-ts-constructor: var(--dark-color-ts-class); + --dark-color-ts-property: var(--dark-color-ts-variable); + --dark-color-ts-method: var(--dark-color-ts-function); + --dark-color-ts-call-signature: var(--dark-color-ts-method); + --dark-color-ts-index-signature: var(--dark-color-ts-property); + --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); + --dark-color-ts-parameter: var(--dark-color-ts-variable); + /* type literal not included as links will never be generated to it */ + --dark-color-ts-type-parameter: #e07d13; + --dark-color-ts-accessor: var(--dark-color-ts-property); + --dark-color-ts-get-signature: var(--dark-color-ts-accessor); + --dark-color-ts-set-signature: var(--dark-color-ts-accessor); + --dark-color-ts-type-alias: #ff6492; + /* reference not included as links will be colored with the kind that it points to */ + --dark-color-document: #ffffff; + + --dark-external-icon: url("data:image/svg+xml;utf8,"); + --dark-color-scheme: dark; +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); + } +} + +html { + color-scheme: var(--color-scheme); +} + +body { + margin: 0; +} + +:root[data-theme="light"] { + --color-background: var(--light-color-background); + --color-background-secondary: var(--light-color-background-secondary); + --color-background-warning: var(--light-color-background-warning); + --color-warning-text: var(--light-color-warning-text); + --color-icon-background: var(--light-color-icon-background); + --color-accent: var(--light-color-accent); + --color-active-menu-item: var(--light-color-active-menu-item); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-focus-outline: var(--light-color-focus-outline); + + --color-ts-keyword: var(--light-color-ts-keyword); + --color-ts-module: var(--light-color-ts-module); + --color-ts-namespace: var(--light-color-ts-namespace); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-enum-member: var(--light-color-ts-enum-member); + --color-ts-variable: var(--light-color-ts-variable); + --color-ts-function: var(--light-color-ts-function); + --color-ts-class: var(--light-color-ts-class); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-constructor: var(--light-color-ts-constructor); + --color-ts-property: var(--light-color-ts-property); + --color-ts-method: var(--light-color-ts-method); + --color-ts-call-signature: var(--light-color-ts-call-signature); + --color-ts-index-signature: var(--light-color-ts-index-signature); + --color-ts-constructor-signature: var( + --light-color-ts-constructor-signature + ); + --color-ts-parameter: var(--light-color-ts-parameter); + --color-ts-type-parameter: var(--light-color-ts-type-parameter); + --color-ts-accessor: var(--light-color-ts-accessor); + --color-ts-get-signature: var(--light-color-ts-get-signature); + --color-ts-set-signature: var(--light-color-ts-set-signature); + --color-ts-type-alias: var(--light-color-ts-type-alias); + --color-document: var(--light-color-document); + + --external-icon: var(--light-external-icon); + --color-scheme: var(--light-color-scheme); +} + +:root[data-theme="dark"] { + --color-background: var(--dark-color-background); + --color-background-secondary: var(--dark-color-background-secondary); + --color-background-warning: var(--dark-color-background-warning); + --color-warning-text: var(--dark-color-warning-text); + --color-icon-background: var(--dark-color-icon-background); + --color-accent: var(--dark-color-accent); + --color-active-menu-item: var(--dark-color-active-menu-item); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-focus-outline: var(--dark-color-focus-outline); + + --color-ts-keyword: var(--dark-color-ts-keyword); + --color-ts-module: var(--dark-color-ts-module); + --color-ts-namespace: var(--dark-color-ts-namespace); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-enum-member: var(--dark-color-ts-enum-member); + --color-ts-variable: var(--dark-color-ts-variable); + --color-ts-function: var(--dark-color-ts-function); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-constructor: var(--dark-color-ts-constructor); + --color-ts-property: var(--dark-color-ts-property); + --color-ts-method: var(--dark-color-ts-method); + --color-ts-call-signature: var(--dark-color-ts-call-signature); + --color-ts-index-signature: var(--dark-color-ts-index-signature); + --color-ts-constructor-signature: var( + --dark-color-ts-constructor-signature + ); + --color-ts-parameter: var(--dark-color-ts-parameter); + --color-ts-type-parameter: var(--dark-color-ts-type-parameter); + --color-ts-accessor: var(--dark-color-ts-accessor); + --color-ts-get-signature: var(--dark-color-ts-get-signature); + --color-ts-set-signature: var(--dark-color-ts-set-signature); + --color-ts-type-alias: var(--dark-color-ts-type-alias); + --color-document: var(--dark-color-document); + + --external-icon: var(--dark-external-icon); + --color-scheme: var(--dark-color-scheme); +} + +*:focus-visible, +.tsd-accordion-summary:focus-visible svg { + outline: 2px solid var(--color-focus-outline); +} + +.always-visible, +.always-visible .tsd-signatures { + display: inherit !important; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 1.875rem; + margin: 0.67rem 0; +} + +h2 { + font-size: 1.5rem; + margin: 0.83rem 0; +} + +h3 { + font-size: 1.25rem; + margin: 1rem 0; +} + +h4 { + font-size: 1.05rem; + margin: 1.33rem 0; +} + +h5 { + font-size: 1rem; + margin: 1.5rem 0; +} + +h6 { + font-size: 0.875rem; + margin: 2.33rem 0; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1700px; + padding: 0 2rem; +} + +/* Footer */ +footer { + border-top: 1px solid var(--color-accent); + padding-top: 1rem; + padding-bottom: 1rem; + max-height: 3.5rem; +} +footer > p { + margin: 0 1em; +} + +.container-main { + margin: 0 auto; + /* toolbar, footer, margin */ + min-height: calc(100vh - 41px - 56px - 4rem); +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} +a.tsd-anchor-link { + color: var(--color-text); +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 0.875rem; + border-radius: 0.8em; +} + +pre { + position: relative; + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; + padding: 10px; + border: 1px solid var(--color-accent); +} +pre code { + padding: 0; + font-size: 100%; +} +pre > button { + position: absolute; + top: 10px; + right: 10px; + opacity: 0; + transition: opacity 0.1s; + box-sizing: border-box; +} +pre:hover > button, +pre > button.visible { + opacity: 1; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h4, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} +.tsd-typography table { + border-collapse: collapse; + border: none; +} +.tsd-typography td, +.tsd-typography th { + padding: 6px 13px; + border: 1px solid var(--color-accent); +} +.tsd-typography thead, +.tsd-typography tr:nth-child(even) { + background-color: var(--color-background-secondary); +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +.tsd-comment-tags { + display: flex; + flex-direction: column; +} +dl.tsd-comment-tag-group { + display: flex; + align-items: center; + overflow: hidden; + margin: 0.5em 0; +} +dl.tsd-comment-tag-group dt { + display: flex; + margin-right: 0.5em; + font-size: 0.875em; + font-weight: normal; +} +dl.tsd-comment-tag-group dd { + margin: 0; +} +code.tsd-tag { + padding: 0.25em 0.4em; + border: 0.1em solid var(--color-accent); + margin-right: 0.25em; + font-size: 70%; +} +h1 code.tsd-tag:first-of-type { + margin-left: 0.25em; +} + +dl.tsd-comment-tag-group dd:before, +dl.tsd-comment-tag-group dd:after { + content: " "; +} +dl.tsd-comment-tag-group dd pre, +dl.tsd-comment-tag-group dd:after { + clear: both; +} +dl.tsd-comment-tag-group p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.tsd-filter-visibility h4 { + font-size: 1rem; + padding-top: 0.75rem; + padding-bottom: 0.5rem; + margin: 0; +} +.tsd-filter-item:not(:last-child) { + margin-bottom: 0.5rem; +} +.tsd-filter-input { + display: flex; + width: -moz-fit-content; + width: fit-content; + align-items: center; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; +} +.tsd-filter-input input[type="checkbox"] { + cursor: pointer; + position: absolute; + width: 1.5em; + height: 1.5em; + opacity: 0; +} +.tsd-filter-input input[type="checkbox"]:disabled { + pointer-events: none; +} +.tsd-filter-input svg { + cursor: pointer; + width: 1.5em; + height: 1.5em; + margin-right: 0.5em; + border-radius: 0.33em; + /* Leaving this at full opacity breaks event listeners on Firefox. + Don't remove unless you know what you're doing. */ + opacity: 0.99; +} +.tsd-filter-input input[type="checkbox"]:focus-visible + svg { + outline: 2px solid var(--color-focus-outline); +} +.tsd-checkbox-background { + fill: var(--color-accent); +} +input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { + stroke: var(--color-text); +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { + fill: var(--color-background); + stroke: var(--color-accent); + stroke-width: 0.25rem; +} +.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { + stroke: var(--color-accent); +} + +.settings-label { + font-weight: bold; + text-transform: uppercase; + display: inline-block; +} + +.tsd-filter-visibility .settings-label { + margin: 0.75rem 0 0.5rem 0; +} + +.tsd-theme-toggle .settings-label { + margin: 0.75rem 0.75rem 0 0; +} + +.tsd-hierarchy { + list-style: square; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-full-hierarchy:not(:last-child) { + margin-bottom: 1em; + padding-bottom: 1em; + border-bottom: 1px solid var(--color-accent); +} +.tsd-full-hierarchy, +.tsd-full-hierarchy ul { + list-style: none; + margin: 0; + padding: 0; +} +.tsd-full-hierarchy ul { + padding-left: 1.5rem; +} +.tsd-full-hierarchy a { + padding: 0.25rem 0 !important; + font-size: 1rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} + +.tsd-panel-group.tsd-index-group { + margin-bottom: 0; +} +.tsd-index-panel .tsd-index-list { + list-style: none; + line-height: 1.333em; + margin: 0; + padding: 0.25rem 0 0 0; + overflow: hidden; + display: grid; + grid-template-columns: repeat(3, 1fr); + column-gap: 1rem; + grid-template-rows: auto; +} +@media (max-width: 1024px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(2, 1fr); + } +} +@media (max-width: 768px) { + .tsd-index-panel .tsd-index-list { + grid-template-columns: repeat(1, 1fr); + } +} +.tsd-index-panel .tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: relative; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + display: flex; + align-items: center; + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} + +.tsd-navigation.settings { + margin: 1rem 0; +} +.tsd-navigation > a, +.tsd-navigation .tsd-accordion-summary { + width: calc(100% - 0.25rem); + display: flex; + align-items: center; +} +.tsd-navigation a, +.tsd-navigation summary > span, +.tsd-page-navigation a { + display: flex; + width: calc(100% - 0.25rem); + align-items: center; + padding: 0.25rem; + color: var(--color-text); + text-decoration: none; + box-sizing: border-box; +} +.tsd-navigation a.current, +.tsd-page-navigation a.current { + background: var(--color-active-menu-item); +} +.tsd-navigation a:hover, +.tsd-page-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul, +.tsd-page-navigation ul { + margin-top: 0; + margin-bottom: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li, +.tsd-page-navigation li { + padding: 0; + max-width: 100%; +} +.tsd-navigation .tsd-nav-link { + display: none; +} +.tsd-nested-navigation { + margin-left: 3rem; +} +.tsd-nested-navigation > li > details { + margin-left: -1.5rem; +} +.tsd-small-nested-navigation { + margin-left: 1.5rem; +} +.tsd-small-nested-navigation > li > details { + margin-left: -1.5rem; +} + +.tsd-page-navigation-section { + margin-left: 10px; +} +.tsd-page-navigation-section > summary { + padding: 0.25rem; +} +.tsd-page-navigation-section > div { + margin-left: 20px; +} +.tsd-page-navigation ul { + padding-left: 1.75rem; +} + +#tsd-sidebar-links a { + margin-top: 0; + margin-bottom: 0.5rem; + line-height: 1.25rem; +} +#tsd-sidebar-links a:last-of-type { + margin-bottom: 0; +} + +a.tsd-index-link { + padding: 0.25rem 0 !important; + font-size: 1rem; + line-height: 1.25rem; + display: inline-flex; + align-items: center; + color: var(--color-text); +} +.tsd-accordion-summary { + list-style-type: none; /* hide marker on non-safari */ + outline: none; /* broken on safari, so just hide it */ +} +.tsd-accordion-summary::-webkit-details-marker { + display: none; /* hide marker on safari */ +} +.tsd-accordion-summary, +.tsd-accordion-summary a { + -moz-user-select: none; + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; + + cursor: pointer; +} +.tsd-accordion-summary a { + width: calc(100% - 1.5rem); +} +.tsd-accordion-summary > * { + margin-top: 0; + margin-bottom: 0; + padding-top: 0; + padding-bottom: 0; +} +.tsd-accordion .tsd-accordion-summary > svg { + margin-left: 0.25rem; + vertical-align: text-top; +} +.tsd-index-content > :not(:first-child) { + margin-top: 0.75rem; +} +.tsd-index-heading { + margin-top: 1.5rem; + margin-bottom: 0.75rem; +} + +.tsd-kind-icon { + margin-right: 0.5rem; + width: 1.25rem; + height: 1.25rem; + min-width: 1.25rem; + min-height: 1.25rem; +} +.tsd-kind-icon path { + transform-origin: center; + transform: scale(1.1); +} +.tsd-signature > .tsd-kind-icon { + margin-right: 0.8rem; +} + +.tsd-panel { + margin-bottom: 2.5rem; +} +.tsd-panel.tsd-member { + margin-bottom: 4rem; +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5rem -1.5rem 0.75rem -1.5rem; + padding: 0 1.5rem 0.75rem 1.5rem; +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: none; +} + +.tsd-panel-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group { + margin: 2rem 0; +} +.tsd-panel-group.tsd-index-group details { + margin: 2rem 0; +} +.tsd-panel-group > .tsd-accordion-summary { + margin-bottom: 1rem; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 2.5rem; + height: 100%; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title, +#tsd-toolbar-links a { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + background-color: var(--color-background); + line-height: initial; + padding: 4px; +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-background-secondary); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current:not(.no-results), +#tsd-search .results li:hover:not(.no-results) { + background-color: var(--color-accent); +} +#tsd-search .results a { + display: flex; + align-items: center; + padding: 0.25rem; + box-sizing: border-box; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-accent); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title, +#tsd-search.has-focus #tsd-toolbar-links a { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +#tsd-toolbar-links { + position: absolute; + top: 0; + right: 2rem; + height: 100%; + display: flex; + align-items: center; + justify-content: flex-end; +} +#tsd-toolbar-links a { + margin-left: 1.5rem; +} +#tsd-toolbar-links a:hover { + text-decoration: underline; +} + +.tsd-signature { + margin: 0 0 1rem 0; + padding: 1rem 0.5rem; + border: 1px solid var(--color-accent); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} + +.tsd-signature-keyword { + color: var(--color-ts-keyword); + font-weight: normal; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + list-style-type: none; +} +.tsd-signatures .tsd-signature { + margin: 0; + border-color: var(--color-accent); + border-width: 1px 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-index-signature:not(:last-child) { + margin-bottom: 1em; +} +.tsd-signatures .tsd-index-signature .tsd-signature { + border-width: 1px; +} +.tsd-description .tsd-signatures .tsd-signature { + border-width: 1px; +} + +ul.tsd-parameter-list, +ul.tsd-type-parameter-list { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameter-list > li.tsd-parameter-signature, +ul.tsd-type-parameter-list > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameter-list h5, +ul.tsd-type-parameter-list h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +.tsd-sources { + margin-top: 1rem; + font-size: 0.875em; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: sticky; + z-index: 1; + top: 0; + left: 0; + width: 100%; + color: var(--color-text); + background: var(--color-background-secondary); + border-bottom: 1px var(--color-accent) solid; + transition: transform 0.3s ease-in-out; +} +.tsd-page-toolbar a { + color: var(--color-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .tsd-toolbar-contents { + display: flex; + justify-content: space-between; + height: 2.5rem; + margin: 0 auto; +} +.tsd-page-toolbar .table-cell { + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} +.tsd-page-toolbar .tsd-toolbar-icon { + box-sizing: border-box; + line-height: 0; + padding: 12px 0; +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: + opacity 0.1s, + background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-accent); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} + +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + display: inline-flex; + align-items: center; + margin-left: 0.5rem; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} + +.deprecated { + text-decoration: line-through !important; +} + +.warning { + padding: 1rem; + color: var(--color-warning-text); + background: var(--color-background-warning); +} + +.tsd-kind-project { + color: var(--color-ts-project); +} +.tsd-kind-module { + color: var(--color-ts-module); +} +.tsd-kind-namespace { + color: var(--color-ts-namespace); +} +.tsd-kind-enum { + color: var(--color-ts-enum); +} +.tsd-kind-enum-member { + color: var(--color-ts-enum-member); +} +.tsd-kind-variable { + color: var(--color-ts-variable); +} +.tsd-kind-function { + color: var(--color-ts-function); +} +.tsd-kind-class { + color: var(--color-ts-class); +} +.tsd-kind-interface { + color: var(--color-ts-interface); +} +.tsd-kind-constructor { + color: var(--color-ts-constructor); +} +.tsd-kind-property { + color: var(--color-ts-property); +} +.tsd-kind-method { + color: var(--color-ts-method); +} +.tsd-kind-call-signature { + color: var(--color-ts-call-signature); +} +.tsd-kind-index-signature { + color: var(--color-ts-index-signature); +} +.tsd-kind-constructor-signature { + color: var(--color-ts-constructor-signature); +} +.tsd-kind-parameter { + color: var(--color-ts-parameter); +} +.tsd-kind-type-literal { + color: var(--color-ts-type-literal); +} +.tsd-kind-type-parameter { + color: var(--color-ts-type-parameter); +} +.tsd-kind-accessor { + color: var(--color-ts-accessor); +} +.tsd-kind-get-signature { + color: var(--color-ts-get-signature); +} +.tsd-kind-set-signature { + color: var(--color-ts-set-signature); +} +.tsd-kind-type-alias { + color: var(--color-ts-type-alias); +} + +/* if we have a kind icon, don't color the text by kind */ +.tsd-kind-icon ~ span { + color: var(--color-text); +} + +* { + scrollbar-width: thin; + scrollbar-color: var(--color-accent) var(--color-icon-background); +} + +*::-webkit-scrollbar { + width: 0.75rem; +} + +*::-webkit-scrollbar-track { + background: var(--color-icon-background); +} + +*::-webkit-scrollbar-thumb { + background-color: var(--color-accent); + border-radius: 999rem; + border: 0.25rem solid var(--color-icon-background); +} + +/* mobile */ +@media (max-width: 769px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } + + .container-main { + display: flex; + } + html .col-content { + float: none; + max-width: 100%; + width: 100%; + } + html .col-sidebar { + position: fixed !important; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + padding: 1.5rem 1.5rem 0 0; + width: 75vw; + visibility: hidden; + background-color: var(--color-background); + transform: translate(100%, 0); + } + html .col-sidebar > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu .col-sidebar { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu .col-sidebar { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu .col-sidebar { + visibility: visible; + transform: translate(0, 0); + display: flex; + flex-direction: column; + gap: 1.5rem; + max-height: 100vh; + padding: 1rem 2rem; + } + .has-menu .tsd-navigation { + max-height: 100%; + } + #tsd-toolbar-links { + display: none; + } + .tsd-navigation .tsd-nav-link { + display: flex; + } +} + +/* one sidebar */ +@media (min-width: 770px) { + .container-main { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + grid-template-areas: "sidebar content"; + margin: 2rem auto; + } + + .col-sidebar { + grid-area: sidebar; + } + .col-content { + grid-area: content; + padding: 0 1rem; + } +} +@media (min-width: 770px) and (max-width: 1399px) { + .col-sidebar { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + padding-top: 1rem; + } + .site-menu { + margin-top: 1rem; + } +} + +/* two sidebars */ +@media (min-width: 1200px) { + .container-main { + grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); + grid-template-areas: "sidebar content toc"; + } + + .col-sidebar { + display: contents; + } + + .page-menu { + grid-area: toc; + padding-left: 1rem; + } + .site-menu { + grid-area: sidebar; + } + + .site-menu { + margin-top: 1rem 0; + } + + .page-menu, + .site-menu { + max-height: calc(100vh - 2rem - 42px); + overflow: auto; + position: sticky; + top: 42px; + } +} diff --git a/classes/DataType.html b/classes/DataType.html new file mode 100644 index 00000000..cacaa0b8 --- /dev/null +++ b/classes/DataType.html @@ -0,0 +1,7 @@ +DataType | nodejs-polars

Class DataTypeAbstract

Constructors

Accessors

Methods

Constructors

Accessors

Methods

diff --git a/classes/pl.Field.html b/classes/pl.Field.html new file mode 100644 index 00000000..381b7581 --- /dev/null +++ b/classes/pl.Field.html @@ -0,0 +1,6 @@ +Field | nodejs-polars

Implements

Implemented by

Constructors

Properties

Methods

Constructors

Properties

dtype: DataType
name: string

Methods

diff --git a/functions/DataType-1.Datetime-1.html b/functions/DataType-1.Datetime-1.html new file mode 100644 index 00000000..8ae46ff7 --- /dev/null +++ b/functions/DataType-1.Datetime-1.html @@ -0,0 +1,4 @@ +Datetime | nodejs-polars
  • Calendar date and time type

    +

    Parameters

    • OptionaltimeUnit:
          | TimeUnit
          | "ms"
          | "ns"
          | "us"

      any of 'ms' | 'ns' | 'us'

      +
    • timeZone: undefined | null | string = null

      timezone string as defined by Intl.DateTimeFormat America/New_York for example.

      +

    Returns DataType

diff --git a/functions/DataType-1.Decimal-1.html b/functions/DataType-1.Decimal-1.html new file mode 100644 index 00000000..6f038902 --- /dev/null +++ b/functions/DataType-1.Decimal-1.html @@ -0,0 +1,2 @@ +Decimal | nodejs-polars
diff --git a/functions/DataType-1.FixedSizeList-1.html b/functions/DataType-1.FixedSizeList-1.html new file mode 100644 index 00000000..54a45579 --- /dev/null +++ b/functions/DataType-1.FixedSizeList-1.html @@ -0,0 +1,3 @@ +FixedSizeList | nodejs-polars
  • List of fixed length +This is called Array in other polars implementations, but Array is widely used in JS, so we use FixedSizeList instead.

    +

    Parameters

    Returns DataType

diff --git a/functions/DataType-1.List-1.html b/functions/DataType-1.List-1.html new file mode 100644 index 00000000..0e5a8593 --- /dev/null +++ b/functions/DataType-1.List-1.html @@ -0,0 +1,3 @@ +List | nodejs-polars
diff --git a/functions/DataType-1.Struct-1.html b/functions/DataType-1.Struct-1.html new file mode 100644 index 00000000..e2e55de3 --- /dev/null +++ b/functions/DataType-1.Struct-1.html @@ -0,0 +1,2 @@ +Struct | nodejs-polars
diff --git a/functions/DataType-1.deserialize.html b/functions/DataType-1.deserialize.html new file mode 100644 index 00000000..0c698408 --- /dev/null +++ b/functions/DataType-1.deserialize.html @@ -0,0 +1,3 @@ +deserialize | nodejs-polars
diff --git a/functions/Datetime.html b/functions/Datetime.html new file mode 100644 index 00000000..5dc3d078 --- /dev/null +++ b/functions/Datetime.html @@ -0,0 +1,4 @@ +Datetime | nodejs-polars

Function Datetime

  • Calendar date and time type

    +

    Parameters

    • OptionaltimeUnit:
          | TimeUnit
          | "ms"
          | "ns"
          | "us"

      any of 'ms' | 'ns' | 'us'

      +
    • timeZone: undefined | null | string = null

      timezone string as defined by Intl.DateTimeFormat America/New_York for example.

      +

    Returns DataType

diff --git a/functions/Decimal.html b/functions/Decimal.html new file mode 100644 index 00000000..22c62bc7 --- /dev/null +++ b/functions/Decimal.html @@ -0,0 +1,2 @@ +Decimal | nodejs-polars

Function Decimal

diff --git a/functions/FixedSizeList.html b/functions/FixedSizeList.html new file mode 100644 index 00000000..f11c12ca --- /dev/null +++ b/functions/FixedSizeList.html @@ -0,0 +1,3 @@ +FixedSizeList | nodejs-polars

Function FixedSizeList

  • List of fixed length +This is called Array in other polars implementations, but Array is widely used in JS, so we use FixedSizeList instead.

    +

    Parameters

    Returns DataType

diff --git a/functions/List.html b/functions/List.html new file mode 100644 index 00000000..0741dc3d --- /dev/null +++ b/functions/List.html @@ -0,0 +1,3 @@ +List | nodejs-polars

Function List

diff --git a/functions/SQLContext.html b/functions/SQLContext.html new file mode 100644 index 00000000..46dc7b59 --- /dev/null +++ b/functions/SQLContext.html @@ -0,0 +1,5 @@ +SQLContext | nodejs-polars

Function SQLContext

  • Run SQL queries against DataFrame/LazyFrame data.

    +

    Parameters

    Returns sql.SQLContext

    This functionality is considered unstable, although it is close to being +considered stable. It may be changed at any point without it being considered +a breaking change.

    +
diff --git a/functions/Struct.html b/functions/Struct.html new file mode 100644 index 00000000..827fbd41 --- /dev/null +++ b/functions/Struct.html @@ -0,0 +1,2 @@ +Struct | nodejs-polars

Function Struct

diff --git a/functions/_Expr.html b/functions/_Expr.html new file mode 100644 index 00000000..dd8722aa --- /dev/null +++ b/functions/_Expr.html @@ -0,0 +1 @@ +_Expr | nodejs-polars

Function _Expr

diff --git a/functions/_Series.html b/functions/_Series.html new file mode 100644 index 00000000..7865477b --- /dev/null +++ b/functions/_Series.html @@ -0,0 +1 @@ +_Series | nodejs-polars

Function _Series

diff --git a/functions/all.html b/functions/all.html new file mode 100644 index 00000000..41e1ab6d --- /dev/null +++ b/functions/all.html @@ -0,0 +1,2 @@ +all | nodejs-polars

Function all

diff --git a/functions/exprToLitOrExpr.html b/functions/exprToLitOrExpr.html new file mode 100644 index 00000000..fa118d83 --- /dev/null +++ b/functions/exprToLitOrExpr.html @@ -0,0 +1 @@ +exprToLitOrExpr | nodejs-polars

Function exprToLitOrExpr

diff --git a/functions/pl.DataFrame.html b/functions/pl.DataFrame.html new file mode 100644 index 00000000..1fcfa2bb --- /dev/null +++ b/functions/pl.DataFrame.html @@ -0,0 +1,28 @@ +DataFrame | nodejs-polars

Function DataFrame

  • Create an empty DataFrame

    +

    Returns pl.DataFrame

  • Create a DataFrame from a JavaScript object

    +

    Parameters

    • data: any

      object or array of data

      +
    • Optionaloptions: {
          columns?: any[];
          inferSchemaLength?: number;
          orient?: "row" | "col";
          schema?: Record<string, string | DataType>;
          schemaOverrides?: Record<string, string | DataType>;
      }

      options

      +
      • Optionalcolumns?: any[]

        column names

        +
      • OptionalinferSchemaLength?: number

        The maximum number of rows to scan for schema inference. If set to None, the full data may be scanned (this can be slow). This parameter only applies if the input data is a sequence or generator of rows; other input is read as-is. +The number of entries in the schema should match the underlying data dimensions, unless a sequence of dictionaries is being passed, in which case a partial schema can be declared to prevent specific fields from being loaded.

        +
      • Optionalorient?: "row" | "col"

        orientation of the data [row, col] +Whether to interpret two-dimensional data as columns or as rows. If None, the orientation is inferred by matching the columns and data dimensions. If this does not yield conclusive results, column orientation is used.

        +
      • Optionalschema?: Record<string, string | DataType>

        The schema of the resulting DataFrame. The schema may be declared in several ways:

        +
        - As a dict of {name:type} pairs; if type is None, it will be auto-inferred.
        +
        +- As a list of column names; in this case types are automatically inferred.
        +
        +- As a list of (name,type) pairs; this is equivalent to the dictionary form.
        +
        +

        If you supply a list of column names that does not match the names in the underlying data, the names given here will overwrite them. The number of names given in the schema should match the underlying data dimensions.

        +

        If set to null (default), the schema is inferred from the data.

        +
      • OptionalschemaOverrides?: Record<string, string | DataType>

        Support type specification or override of one or more columns; note that any dtypes inferred from the schema param will be overridden.

        +

    Returns pl.DataFrame

    data = {'a': [1n, 2n], 'b': [3, 4]}
    df = pl.DataFrame(data)
    df
    shape: (2, 2)
    ╭─────┬─────╮
    ab
    │ --- ┆ --- │
    u64i64
    ╞═════╪═════╡
    13
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    24
    ╰─────┴─────╯ +
    + +

Methods

diff --git a/functions/pl.Datetime.html b/functions/pl.Datetime.html new file mode 100644 index 00000000..ec4b6ebd --- /dev/null +++ b/functions/pl.Datetime.html @@ -0,0 +1,4 @@ +Datetime | nodejs-polars

Function Datetime

  • Calendar date and time type

    +

    Parameters

    • OptionaltimeUnit:
          | TimeUnit
          | "ms"
          | "ns"
          | "us"

      any of 'ms' | 'ns' | 'us'

      +
    • timeZone: undefined | null | string = null

      timezone string as defined by Intl.DateTimeFormat America/New_York for example.

      +

    Returns DataType

diff --git a/functions/pl.Decimal.html b/functions/pl.Decimal.html new file mode 100644 index 00000000..628604a4 --- /dev/null +++ b/functions/pl.Decimal.html @@ -0,0 +1,2 @@ +Decimal | nodejs-polars

Function Decimal

diff --git a/functions/pl.Field-1.from.html b/functions/pl.Field-1.from.html new file mode 100644 index 00000000..5cefab6b --- /dev/null +++ b/functions/pl.Field-1.from.html @@ -0,0 +1 @@ +from | nodejs-polars
diff --git a/functions/pl.FixedSizeList.html b/functions/pl.FixedSizeList.html new file mode 100644 index 00000000..7ae14b1d --- /dev/null +++ b/functions/pl.FixedSizeList.html @@ -0,0 +1,3 @@ +FixedSizeList | nodejs-polars

Function FixedSizeList

  • List of fixed length +This is called Array in other polars implementations, but Array is widely used in JS, so we use FixedSizeList instead.

    +

    Parameters

    Returns DataType

diff --git a/functions/pl.List.html b/functions/pl.List.html new file mode 100644 index 00000000..8c4b275d --- /dev/null +++ b/functions/pl.List.html @@ -0,0 +1,3 @@ +List | nodejs-polars

Function List

diff --git a/functions/pl.SQLContext.html b/functions/pl.SQLContext.html new file mode 100644 index 00000000..0b852a76 --- /dev/null +++ b/functions/pl.SQLContext.html @@ -0,0 +1,5 @@ +SQLContext | nodejs-polars

Function SQLContext

  • Run SQL queries against DataFrame/LazyFrame data.

    +

    Parameters

    Returns sql.SQLContext

    This functionality is considered unstable, although it is close to being +considered stable. It may be changed at any point without it being considered +a breaking change.

    +
diff --git a/functions/pl.Series.html b/functions/pl.Series.html new file mode 100644 index 00000000..bfde209b --- /dev/null +++ b/functions/pl.Series.html @@ -0,0 +1,23 @@ +Series | nodejs-polars

Function Series

Methods

diff --git a/functions/pl.Struct.html b/functions/pl.Struct.html new file mode 100644 index 00000000..2a67a66b --- /dev/null +++ b/functions/pl.Struct.html @@ -0,0 +1,2 @@ +Struct | nodejs-polars

Function Struct

diff --git a/functions/pl.allHorizontal.html b/functions/pl.allHorizontal.html new file mode 100644 index 00000000..f8fba642 --- /dev/null +++ b/functions/pl.allHorizontal.html @@ -0,0 +1,5 @@ +allHorizontal | nodejs-polars

Function allHorizontal

  • Compute the bitwise AND horizontally across columns.

    +

    Parameters

    • exprs: ExprOrString | ExprOrString[]

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    {
    "a": [false, false, true, true],
    "b": [false, true, null, true],
    "c": ["w", "x", "y", "z"],
    }
    )
    >>> df.withColumns(pl.allHorizontal([pl.col("a"), pl.col("b")]))
    shape: (4, 4)
    ┌───────┬───────┬─────┬───────┐
    abcall
    │ --- ┆ --- ┆ --- ┆ --- │
    boolboolstrbool
    ╞═══════╪═══════╪═════╪═══════╡
    falsefalsewfalse
    falsetruexfalse
    truenullynull
    truetrueztrue
    └───────┴───────┴─────┴───────┘ +
    + +
diff --git a/functions/pl.anyHorizontal.html b/functions/pl.anyHorizontal.html new file mode 100644 index 00000000..10a89664 --- /dev/null +++ b/functions/pl.anyHorizontal.html @@ -0,0 +1,5 @@ +anyHorizontal | nodejs-polars

Function anyHorizontal

  • Compute the bitwise OR horizontally across columns.

    +

    Parameters

    • exprs: ExprOrString | ExprOrString[]

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    ... {
    ... "a": [false, false, true, null],
    ... "b": [false, true, null, null],
    ... "c": ["w", "x", "y", "z"],
    ... }
    ... )
    >>> df.withColumns(pl.anyHorizontal([pl.col("a"), pl.col("b")]))
    shape: (4, 4)
    ┌───────┬───────┬─────┬───────┐
    abcany
    │ --- ┆ --- ┆ --- ┆ --- │
    boolboolstrbool
    ╞═══════╪═══════╪═════╪═══════╡
    falsefalsewfalse
    falsetruextrue
    truenullytrue
    nullnullznull
    └───────┴───────┴─────┴───────┘ +
    + +
diff --git a/functions/pl.argSortBy.html b/functions/pl.argSortBy.html new file mode 100644 index 00000000..9e4556b3 --- /dev/null +++ b/functions/pl.argSortBy.html @@ -0,0 +1,7 @@ +argSortBy | nodejs-polars

Function argSortBy

  • Return the row indices that would sort the columns.

    +

    Parameters

    • exprs: string[] | pl.Expr[]

      Column(s) to arg sort by. Accepts expression input.

      +
    • descending: boolean | boolean[] = false

      Sort in descending order. When sorting by multiple columns, can be specified per column by passing a sequence of booleans.

      +

    Returns pl.Expr

    const df = pl.DataFrame({"a": [0, 1, 1, 0], "b": [3, 2, 3, 2],});
    df.select(pl.argSortBy(pl.col("a")));
    shape: (4, 1)
    ┌─────┐
    a
    │ --- │
    u32
    ╞═════╡
    0
    3
    1
    2
    └─────┘ +
    + +
diff --git a/functions/pl.avg.html b/functions/pl.avg.html new file mode 100644 index 00000000..c5031f3b --- /dev/null +++ b/functions/pl.avg.html @@ -0,0 +1,3 @@ +avg | nodejs-polars

Function avg

diff --git a/functions/pl.col.html b/functions/pl.col.html new file mode 100644 index 00000000..6e3b1268 --- /dev/null +++ b/functions/pl.col.html @@ -0,0 +1,11 @@ +col | nodejs-polars

Function col

  • A column in a DataFrame. +Can be used to select:

    +
      +
    • a single column by name
    • +
    • all columns by using a wildcard "*"
    • +
    • column by regular expression if the regex starts with ^ and ends with $
    • +
    +

    Parameters

    • col:
          | string
          | string[]
          | DataType
          | pl.Series<any>

    Returns pl.Expr

    > df = pl.DataFrame({
    > "ham": [1, 2, 3],
    > "hamburger": [11, 22, 33],
    > "foo": [3, 2, 1]})
    > df.select(col("foo"))
    shape: (3, 1)
    ╭─────╮
    foo
    │ --- │
    i64
    ╞═════╡
    3
    ├╌╌╌╌╌┤
    2
    ├╌╌╌╌╌┤
    1
    ╰─────╯
    > df.select(col("*"))
    shape: (3, 3)
    ╭─────┬───────────┬─────╮
    hamhamburgerfoo
    │ --- ┆ --- ┆ --- │
    i64i64i64
    ╞═════╪═══════════╪═════╡
    1113
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    2222
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    3331
    ╰─────┴───────────┴─────╯
    > df.select(col("^ham.*$"))
    shape: (3, 2)
    ╭─────┬───────────╮
    hamhamburger
    │ --- ┆ --- │
    i64i64
    ╞═════╪═══════════╡
    111
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┤
    222
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┤
    333
    ╰─────┴───────────╯
    > df.select(col("*").exclude("ham"))
    shape: (3, 2)
    ╭───────────┬─────╮
    hamburgerfoo
    │ --- ┆ --- │
    i64i64
    ╞═══════════╪═════╡
    113
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    222
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    331
    ╰───────────┴─────╯
    > df.select(col(["hamburger", "foo"])
    shape: (3, 2)
    ╭───────────┬─────╮
    hamburgerfoo
    │ --- ┆ --- │
    i64i64
    ╞═══════════╪═════╡
    113
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    222
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    331
    ╰───────────┴─────╯
    > df.select(col(pl.Series(["hamburger", "foo"]))
    shape: (3, 2)
    ╭───────────┬─────╮
    hamburgerfoo
    │ --- ┆ --- │
    i64i64
    ╞═══════════╪═════╡
    113
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    222
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    331
    ╰───────────┴─────╯ +
    + +
diff --git a/functions/pl.cols.html b/functions/pl.cols.html new file mode 100644 index 00000000..0ef4e6fe --- /dev/null +++ b/functions/pl.cols.html @@ -0,0 +1 @@ +cols | nodejs-polars

Function cols

diff --git a/functions/pl.concat.html b/functions/pl.concat.html new file mode 100644 index 00000000..21ad6b93 --- /dev/null +++ b/functions/pl.concat.html @@ -0,0 +1,6 @@ +concat | nodejs-polars

Function concat

  • Aggregate all the Dataframes/Series in a List of DataFrames/Series to a single DataFrame/Series.

    +

    Parameters

    Returns pl.DataFrame

    > const df1 = pl.DataFrame({"a": [1], "b": [3]});
    > const df2 = pl.DataFrame({"a": [2], "b": [4]});
    > pl.concat([df1, df2]);
    shape: (2, 2)
    ┌─────┬─────┐
    ab
    │ --- ┆ --- │
    i64i64
    ╞═════╪═════╡
    13
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    24
    └─────┴─────┘

    > const a = pl.DataFrame({ a: ["a", "b"], b: [1, 2] });
    > const b = pl.DataFrame({ c: [5, 6], d: [7, 8], e: [9, 10]});
    > pl.concat([a, b], { how: "horizontal" });

    shape: (2, 5)
    ┌─────┬─────┬─────┬─────┬──────┐
    abcde
    │ --- ┆ --- ┆ --- ┆ --- ┆ --- │
    strf64f64f64f64
    ╞═════╪═════╪═════╪═════╪══════╡
    a1.05.07.09.0
    b2.06.08.010.0
    └─────┴─────┴─────┴─────┴──────┘

    > const df_d1 = pl.DataFrame({"a": [1], "b": [3]});
    > const df_d2 = pl.DataFrame({"a": [2], "c": [4]});
    > pl.concat([df_d1, df_d2], { how: "diagonal" });

    shape: (2, 3)
    ┌─────┬──────┬──────┐
    abc
    │ --- ┆ --- ┆ --- │
    i64i64i64
    ╞═════╪══════╪══════╡
    13null
    2null4
    └─────┴──────┴──────┘ +
    + +
  • Parameters

    • items: pl.Series<any>[]
    • Optionaloptions: {
          rechunk: boolean;
      }
      • rechunk: boolean

    Returns pl.Series

  • Parameters

    Returns LazyDataFrame

diff --git a/functions/pl.concatList.html b/functions/pl.concatList.html new file mode 100644 index 00000000..094faba8 --- /dev/null +++ b/functions/pl.concatList.html @@ -0,0 +1,3 @@ +concatList | nodejs-polars

Function concatList

  • Concat the arrays in a Series dtype List in linear time.

    +

    Parameters

    • exprs: ExprOrString[]

      Columns to concat into a List Series

      +

    Returns pl.Expr

  • Parameters

    • expr: ExprOrString
    • Rest...exprs: ExprOrString[]

    Returns pl.Expr

  • Parameters

    • expr: ExprOrString
    • expr2: ExprOrString
    • Rest...exprs: ExprOrString[]

    Returns pl.Expr

diff --git a/functions/pl.concatString.html b/functions/pl.concatString.html new file mode 100644 index 00000000..cee6bb41 --- /dev/null +++ b/functions/pl.concatString.html @@ -0,0 +1,2 @@ +concatString | nodejs-polars

Function concatString

  • Concat Utf8 Series in linear time. Non utf8 columns are cast to utf8.

    +

    Parameters

    • opts: {
          exprs: ExprOrString[];
          ignoreNulls?: boolean;
          sep: string;
      }
      • exprs: ExprOrString[]
      • OptionalignoreNulls?: boolean
      • sep: string

    Returns any

  • Parameters

    • exprs: ExprOrString[]
    • Optionalsep: string
    • OptionalignoreNulls: boolean

    Returns any

diff --git a/functions/pl.count.html b/functions/pl.count.html new file mode 100644 index 00000000..abbc0d55 --- /dev/null +++ b/functions/pl.count.html @@ -0,0 +1,2 @@ +count | nodejs-polars

Function count

diff --git a/functions/pl.cov.html b/functions/pl.cov.html new file mode 100644 index 00000000..a002c486 --- /dev/null +++ b/functions/pl.cov.html @@ -0,0 +1,2 @@ +cov | nodejs-polars

Function cov

  • Compute the covariance between two columns/ expressions.

    +

    Parameters

    • a: ExprOrString
    • b: ExprOrString
    • ddof: number = 1

    Returns pl.Expr

diff --git a/functions/pl.element.html b/functions/pl.element.html new file mode 100644 index 00000000..49d80827 --- /dev/null +++ b/functions/pl.element.html @@ -0,0 +1,5 @@ +element | nodejs-polars

Function element

  • Alias for an element in evaluated in an eval expression.

    +

    Returns pl.Expr

    *
    * A horizontal rank computation by taking the elements of a list
    *
    * >df = pl.DataFrame({"a": [1, 8, 3], "b": [4, 5, 2]})
    * >df.withColumn(
    * ... pl.concatList(["a", "b"]).arr.eval(pl.element().rank()).alias("rank")
    * ... )
    * shape: (3, 3)
    * ┌─────┬─────┬────────────┐
    * │ abrank
    * │ --- ┆ --- ┆ --- │
    * │ i64i64list[f32] │
    * ╞═════╪═════╪════════════╡
    * │ 14 ┆ [1.0, 2.0] │
    * ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    * │ 85 ┆ [2.0, 1.0] │
    * ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    * │ 32 ┆ [2.0, 1.0] │
    * └─────┴─────┴────────────┘
    *
    * A mathematical operation on array elements
    *
    * >df = pl.DataFrame({"a": [1, 8, 3], "b": [4, 5, 2]})
    * >df.withColumn(
    * ... pl.concatList(["a", "b"]).arr.eval(pl.element().multiplyBy(2)).alias("a_b_doubled")
    * ... )
    * shape: (3, 3)
    * ┌─────┬─────┬─────────────┐
    * │ aba_b_doubled
    * │ --- ┆ --- ┆ --- │
    * │ i64i64list[i64] │
    * ╞═════╪═════╪═════════════╡
    * │ 14 ┆ [2, 8] │
    * ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    * │ 85 ┆ [16, 10] │
    * ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    * │ 32 ┆ [6, 4] │
    * └─────┴─────┴─────────────┘ +
    + +
diff --git a/functions/pl.exclude.html b/functions/pl.exclude.html new file mode 100644 index 00000000..020e9d27 --- /dev/null +++ b/functions/pl.exclude.html @@ -0,0 +1,6 @@ +exclude | nodejs-polars

Function exclude

  • Exclude certain columns from a wildcard expression.

    +

    Syntactic sugar for:

    +
    > pl.col("*").exclude(columns)
    +
    + +

    Parameters

    • columns: string | string[]

    Returns pl.Expr

  • Parameters

    • col: string
    • Rest...cols: string[]

    Returns pl.Expr

diff --git a/functions/pl.first.html b/functions/pl.first.html new file mode 100644 index 00000000..8e9b43d5 --- /dev/null +++ b/functions/pl.first.html @@ -0,0 +1,2 @@ +first | nodejs-polars

Function first

diff --git a/functions/pl.format.html b/functions/pl.format.html new file mode 100644 index 00000000..1976a0a9 --- /dev/null +++ b/functions/pl.format.html @@ -0,0 +1,6 @@ +format | nodejs-polars

Function format

  • String format utility for expressions +Note: strings will be interpolated as col(<value>). if you want a literal string, use lit(<value>)

    +

    Parameters

    • strings: string | TemplateStringsArray
    • Rest...expr: ExprOrString[]

    Returns pl.Expr

    > df = pl.DataFrame({
    ... "a": ["a", "b", "c"],
    ... "b": [1, 2, 3],
    ... })
    > df.select(
    ... pl.format("foo_{}_bar_{}", pl.col("a"), "b").alias("fmt"),
    ... )
    shape: (3, 1)
    ┌─────────────┐
    fmt
    │ --- │
    str
    ╞═════════════╡
    foo_a_bar_1
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    foo_b_bar_2
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    foo_c_bar_3
    └─────────────┘

    // You can use format as tag function as well
    > pl.format("foo_{}_bar_{}", pl.col("a"), "b") // is the same as
    > pl.format`foo_${pl.col("a")}_bar_${"b"}` +
    + +
diff --git a/functions/pl.groups.html b/functions/pl.groups.html new file mode 100644 index 00000000..d4866a7e --- /dev/null +++ b/functions/pl.groups.html @@ -0,0 +1,2 @@ +groups | nodejs-polars

Function groups

diff --git a/functions/pl.head.html b/functions/pl.head.html new file mode 100644 index 00000000..5323a8a0 --- /dev/null +++ b/functions/pl.head.html @@ -0,0 +1,2 @@ +head | nodejs-polars

Function head

diff --git a/functions/pl.intRange.html b/functions/pl.intRange.html new file mode 100644 index 00000000..a64ab9ab --- /dev/null +++ b/functions/pl.intRange.html @@ -0,0 +1,14 @@ +intRange | nodejs-polars

Function intRange

  • Generate a range of integers.

    +

    This can be used in a select, with_column etc. +Be sure that the range size is equal to the DataFrame you are collecting.

    +

    Parameters

    • opts: {
          dtype?: DataType;
          eager?: boolean;
          end: number | pl.Expr;
          start: number | pl.Expr;
          step?: number | pl.Expr;
      }

    Returns any

    Expr or Series Column of integer data type dtype.

    +

    intRanges

    +
    > df.lazy()
    > .filter(pl.col("foo").lt(pl.intRange(0, 100)))
    > .collect() +
    + +

    Generate an index column by using intRange in conjunction with :func:len.

    +
     df = pl.DataFrame({"a": [1, 3, 5], "b": [2, 4, 6]})
    df.select(
    ... pl.intRange(pl.len()).alias("index"),
    ... pl.all(),
    ... )
    shape: (3, 3)
    ┌───────┬─────┬─────┐
    indexab
    │ --- ┆ --- ┆ --- │
    u32i64i64
    ╞═══════╪═════╪═════╡
    012
    134
    256
    └───────┴─────┴─────┘ +
    + +
  • Parameters

    • opts: {
          dtype?: DataType;
          eager?: boolean;
          high: number | pl.Expr;
          low: number | pl.Expr;
          step?: number | pl.Expr;
      }

    Returns any

    since 0.15.0 use start and end instead

    +
  • Parameters

    Returns pl.Series

  • Parameters

    Returns pl.Expr

diff --git a/functions/pl.intRanges.html b/functions/pl.intRanges.html new file mode 100644 index 00000000..73db193f --- /dev/null +++ b/functions/pl.intRanges.html @@ -0,0 +1,14 @@ +intRanges | nodejs-polars

Function intRanges

  • Generate a range of integers for each row of the input columns.

    +

    Parameters

    • start: any

      Start of the range (inclusive). Defaults to 0.

      +
    • end: any

      End of the range (exclusive). If set to None (default), the value of start is used and start is set to 0.

      +
    • Optionalstep: number

      Step size of the range.

      +
    • Optionaldtype: DataType

      Integer data type of the ranges. Defaults to Int64.

      +
    • Optionaleager: false

      Evaluate immediately and return a Series. If set to False (default), return an expression instead.

      +

    Returns pl.Expr

      +
    • Expr or Series Column of data type List(dtype).
    • +
    +

    intRange

    +
    const df = pl.DataFrame({"a": [1, 2], "b": [3, 4]})
    const result = df.select(pl.intRanges("a", "b")); +
    + +
  • Parameters

    • start: any
    • end: any
    • Optionalstep: number
    • Optionaldtype: DataType
    • Optionaleager: true

    Returns pl.Series

diff --git a/functions/pl.last.html b/functions/pl.last.html new file mode 100644 index 00000000..c9bcee47 --- /dev/null +++ b/functions/pl.last.html @@ -0,0 +1,2 @@ +last | nodejs-polars

Function last

diff --git a/functions/pl.len.html b/functions/pl.len.html new file mode 100644 index 00000000..669cbef8 --- /dev/null +++ b/functions/pl.len.html @@ -0,0 +1,11 @@ +len | nodejs-polars

Function len

  • Return the number of elements in the column.
    +This is similar to COUNT(*) in SQL.

    +

    Returns any

    Expr - Expression of data type :class:UInt32.

    +
    >>> const df = pl.DataFrame(
    ... {
    ... "a": [1, 2, None],
    ... "b": [3, None, None],
    ... "c": ["foo", "bar", "foo"],
    ... }
    ... )
    >>> df.select(pl.len())
    shape: (1, 1)
    ┌─────┐
    len
    │ --- │
    u32
    ╞═════╡
    3
    └─────┘ +
    + +

    Generate an index column by using len in conjunction with :func:intRange.

    +
    >>> df.select(
    ... pl.intRange(pl.len(), dtype=pl.UInt32).alias("index"),
    ... pl.all(),
    ... )
    shape: (3, 4)
    ┌───────┬──────┬──────┬─────┐
    indexabc
    │ --- ┆ --- ┆ --- ┆ --- │
    u32i64i64str
    ╞═══════╪══════╪══════╪═════╡
    013foo
    12nullbar
    2nullnullfoo
    └───────┴──────┴──────┴─────┘ +
    + +
diff --git a/functions/pl.list-2.html b/functions/pl.list-2.html new file mode 100644 index 00000000..f2ae07c9 --- /dev/null +++ b/functions/pl.list-2.html @@ -0,0 +1,2 @@ +list | nodejs-polars

Function list

diff --git a/functions/pl.lit.html b/functions/pl.lit.html new file mode 100644 index 00000000..e0420eb0 --- /dev/null +++ b/functions/pl.lit.html @@ -0,0 +1 @@ +lit | nodejs-polars

Function lit

diff --git a/functions/pl.maxHorizontal.html b/functions/pl.maxHorizontal.html new file mode 100644 index 00000000..379a6392 --- /dev/null +++ b/functions/pl.maxHorizontal.html @@ -0,0 +1,5 @@ +maxHorizontal | nodejs-polars

Function maxHorizontal

  • Get the maximum value horizontally across columns.

    +

    Parameters

    • exprs: ExprOrString | ExprOrString[]

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    ... {
    ... "a": [1, 8, 3],
    ... "b": [4, 5, null],
    ... "c": ["x", "y", "z"],
    ... }
    ... )
    >>> df.withColumns(pl.maxHorizontal(pl.col("a"), pl.col("b")))
    shape: (3, 4)
    ┌─────┬──────┬─────┬─────┐
    abcmax
    │ --- ┆ --- ┆ --- ┆ --- │
    i64i64stri64
    ╞═════╪══════╪═════╪═════╡
    14x4
    85y8
    3nullz3
    └─────┴──────┴─────┴─────┘ +
    + +
diff --git a/functions/pl.mean.html b/functions/pl.mean.html new file mode 100644 index 00000000..30b83d81 --- /dev/null +++ b/functions/pl.mean.html @@ -0,0 +1,2 @@ +mean | nodejs-polars

Function mean

diff --git a/functions/pl.median.html b/functions/pl.median.html new file mode 100644 index 00000000..d9943978 --- /dev/null +++ b/functions/pl.median.html @@ -0,0 +1,2 @@ +median | nodejs-polars

Function median

diff --git a/functions/pl.minHorizontal.html b/functions/pl.minHorizontal.html new file mode 100644 index 00000000..12855200 --- /dev/null +++ b/functions/pl.minHorizontal.html @@ -0,0 +1,5 @@ +minHorizontal | nodejs-polars

Function minHorizontal

  • Get the minimum value horizontally across columns.

    +

    Parameters

    • exprs: ExprOrString | ExprOrString[]

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    ... {
    ... "a": [1, 8, 3],
    ... "b": [4, 5, null],
    ... "c": ["x", "y", "z"],
    ... }
    ... )
    >>> df.withColumns(pl.minHorizontal(pl.col("a"), pl.col("b")))
    shape: (3, 4)
    ┌─────┬──────┬─────┬─────┐
    abcmin
    │ --- ┆ --- ┆ --- ┆ --- │
    i64i64stri64
    ╞═════╪══════╪═════╪═════╡
    14x1
    85y5
    3nullz3
    └─────┴──────┴─────┴─────┘ +
    + +
diff --git a/functions/pl.nUnique.html b/functions/pl.nUnique.html new file mode 100644 index 00000000..47e77410 --- /dev/null +++ b/functions/pl.nUnique.html @@ -0,0 +1,2 @@ +nUnique | nodejs-polars

Function nUnique

diff --git a/functions/pl.nth.html b/functions/pl.nth.html new file mode 100644 index 00000000..0ea3a60f --- /dev/null +++ b/functions/pl.nth.html @@ -0,0 +1,6 @@ +nth | nodejs-polars

Function nth

  • Select nth column index in a DataFrame.

    +

    Parameters

    • n: number

      Column index to select, starting at 0.

      +

    Returns pl.Expr

    > df = pl.DataFrame({
    > "ham": [1, 2, 3],
    > "hamburger": [11, 22, 33],
    > "foo": [3, 2, 1]})
    > df.select(nth(2))
    shape: (3, 1)
    ╭─────╮
    foo
    │ --- │
    i64
    ╞═════╡
    3
    ├╌╌╌╌╌┤
    2
    ├╌╌╌╌╌┤
    1
    ╰─────╯ +
    + +
diff --git a/functions/pl.pearsonCorr.html b/functions/pl.pearsonCorr.html new file mode 100644 index 00000000..4aaae2e0 --- /dev/null +++ b/functions/pl.pearsonCorr.html @@ -0,0 +1,2 @@ +pearsonCorr | nodejs-polars

Function pearsonCorr

  • Compute the pearson's correlation between two columns.

    +

    Parameters

    • a: ExprOrString
    • b: ExprOrString

    Returns pl.Expr

diff --git a/functions/pl.quantile.html b/functions/pl.quantile.html new file mode 100644 index 00000000..2e8eae1d --- /dev/null +++ b/functions/pl.quantile.html @@ -0,0 +1,2 @@ +quantile | nodejs-polars

Function quantile

diff --git a/functions/pl.readAvro.html b/functions/pl.readAvro.html new file mode 100644 index 00000000..9671ac72 --- /dev/null +++ b/functions/pl.readAvro.html @@ -0,0 +1,2 @@ +readAvro | nodejs-polars

Function readAvro

diff --git a/functions/pl.readCSV.html b/functions/pl.readCSV.html new file mode 100644 index 00000000..aa94e831 --- /dev/null +++ b/functions/pl.readCSV.html @@ -0,0 +1,9 @@ +readCSV | nodejs-polars

Function readCSV

  • Read a CSV file or string into a Dataframe.

    +
    +

    Parameters

    • pathOrBody: string | Buffer

      path or buffer or string

      +
        +
      • path: Path to a file or a file like string. Any valid filepath can be used. Example: file.csv.
      • +
      • body: String or buffer to be read as a CSV
      • +
      +
    • Optionaloptions: Partial<ReadCsvOptions>

    Returns pl.DataFrame

    DataFrame

    +
diff --git a/functions/pl.readCSVStream.html b/functions/pl.readCSVStream.html new file mode 100644 index 00000000..42370964 --- /dev/null +++ b/functions/pl.readCSVStream.html @@ -0,0 +1,11 @@ +readCSVStream | nodejs-polars

Function readCSVStream

  • Read a stream into a Dataframe.

    +

    Warning: this is much slower than scanCSV or readCSV

    +

    This will consume the entire stream into a single buffer and then call readCSV +Only use it when you must consume from a stream, or when performance is not a major consideration

    +
    +

    Parameters

    • stream: Readable

      readable stream containing csv data

      +
    • Optionaloptions: Partial<ReadCsvOptions>

    Returns Promise<pl.DataFrame>

    Promise

    +
    >>> const readStream = new Stream.Readable({read(){}});
    >>> readStream.push(`a,b\n`);
    >>> readStream.push(`1,2\n`);
    >>> readStream.push(`2,2\n`);
    >>> readStream.push(`3,2\n`);
    >>> readStream.push(`4,2\n`);
    >>> readStream.push(null);

    >>> pl.readCSVStream(readStream).then(df => console.log(df));
    shape: (4, 2)
    ┌─────┬─────┐
    ab
    │ --- ┆ --- │
    i64i64
    ╞═════╪═════╡
    12
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    22
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    32
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    42
    └─────┴─────┘ +
    + +
diff --git a/functions/pl.readIPC.html b/functions/pl.readIPC.html new file mode 100644 index 00000000..42435827 --- /dev/null +++ b/functions/pl.readIPC.html @@ -0,0 +1,8 @@ +readIPC | nodejs-polars

Function readIPC

  • Read into a DataFrame from Arrow IPC file (Feather v2).

    +
    +

    Parameters

    • pathOrBody: string | Buffer

      path or buffer or string

      +
        +
      • path: Path to a file or a file like string. Any valid filepath can be used. Example: file.ipc.
      • +
      • body: String or buffer to be read as Arrow IPC
      • +
      +
    • Optionaloptions: Partial<ReadIPCOptions>

    Returns pl.DataFrame

diff --git a/functions/pl.readIPCStream.html b/functions/pl.readIPCStream.html new file mode 100644 index 00000000..b72518b5 --- /dev/null +++ b/functions/pl.readIPCStream.html @@ -0,0 +1,8 @@ +readIPCStream | nodejs-polars

Function readIPCStream

  • Read into a DataFrame from Arrow IPC stream.

    +
    +

    Parameters

    • pathOrBody: string | Buffer

      path or buffer or string

      +
        +
      • path: Path to a file or a file like string. Any valid filepath can be used. Example: file.ipc.
      • +
      • body: String or buffer to be read as Arrow IPC
      • +
      +
    • Optionaloptions: Partial<ReadIPCOptions>

    Returns pl.DataFrame

diff --git a/functions/pl.readJSON.html b/functions/pl.readJSON.html new file mode 100644 index 00000000..d3f68e30 --- /dev/null +++ b/functions/pl.readJSON.html @@ -0,0 +1,11 @@ +readJSON | nodejs-polars

Function readJSON

  • Read a JSON file or string into a DataFrame.

    +

    Parameters

    • pathOrBody: string | Buffer

      path or buffer or string

      +
        +
      • path: Path to a file or a file like string. Any valid filepath can be used. Example: file.csv.
      • +
      • body: String or buffer to be read as a CSV
      • +
      +
    • Optionaloptions: Partial<ReadJsonOptions>

    Returns pl.DataFrame

    (DataFrame)

    +
    const jsonString = `
    {"a", 1, "b", "foo", "c": 3}
    {"a": 2, "b": "bar", "c": 6}
    `
    > const df = pl.readJSON(jsonString)
    > console.log(df)
    shape: (2, 3)
    ╭─────┬─────┬─────╮
    abc
    │ --- ┆ --- ┆ --- │
    i64stri64
    ╞═════╪═════╪═════╡
    1foo3
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    2bar6
    ╰─────┴─────┴─────╯ +
    + +
diff --git a/functions/pl.readJSONStream.html b/functions/pl.readJSONStream.html new file mode 100644 index 00000000..1cfb1851 --- /dev/null +++ b/functions/pl.readJSONStream.html @@ -0,0 +1,6 @@ +readJSONStream | nodejs-polars

Function readJSONStream

  • Read a newline delimited JSON stream into a DataFrame.

    +

    Parameters

    • stream: Readable

      readable stream containing json data

      +
    • Optionaloptions: Partial<ReadJsonOptions>

    Returns Promise<pl.DataFrame>

    >>> const readStream = new Stream.Readable({read(){}});
    >>> readStream.push(`${JSON.stringify({a: 1, b: 2})} \n`);
    >>> readStream.push(`${JSON.stringify({a: 2, b: 2})} \n`);
    >>> readStream.push(`${JSON.stringify({a: 3, b: 2})} \n`);
    >>> readStream.push(`${JSON.stringify({a: 4, b: 2})} \n`);
    >>> readStream.push(null);

    >>> pl.readJSONStream(readStream, { format: "lines" }).then(df => console.log(df));
    shape: (4, 2)
    ┌─────┬─────┐
    ab
    │ --- ┆ --- │
    i64i64
    ╞═════╪═════╡
    12
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    22
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    32
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    42
    └─────┴─────┘ +
    + +
diff --git a/functions/pl.readParquet.html b/functions/pl.readParquet.html new file mode 100644 index 00000000..7dce0f4d --- /dev/null +++ b/functions/pl.readParquet.html @@ -0,0 +1,2 @@ +readParquet | nodejs-polars

Function readParquet

  • Read into a DataFrame from a parquet file.

    +

    Parameters

    • pathOrBody: string | Buffer
    • Optionaloptions: Partial<ReadParquetOptions>

    Returns pl.DataFrame

diff --git a/functions/pl.readRecords.html b/functions/pl.readRecords.html new file mode 100644 index 00000000..f66c2bd6 --- /dev/null +++ b/functions/pl.readRecords.html @@ -0,0 +1 @@ +readRecords | nodejs-polars

Function readRecords

  • Parameters

    • records: Record<string, any>[]
    • Optionaloptions: {
          schema: Record<string, DataType>;
      }

    Returns pl.DataFrame

  • Parameters

    • records: Record<string, any>[]
    • Optionaloptions: {
          inferSchemaLength?: number;
      }
      • OptionalinferSchemaLength?: number

    Returns pl.DataFrame

diff --git a/functions/pl.repeat.html b/functions/pl.repeat.html new file mode 100644 index 00000000..a8cde8d9 --- /dev/null +++ b/functions/pl.repeat.html @@ -0,0 +1,8 @@ +repeat | nodejs-polars

Function repeat

  • Repeat a single value n times and collect into a Series.

    +

    Type Parameters

    • V

    Parameters

    • value: V

      Value to repeat.

      +
    • n: number

      Number of repeats

      +
    • name: string = ""

      Optional name of the Series

      +

    Returns pl.Series


    > const s = pl.repeat("a", 5)
    > s.toArray()
    ["a", "a", "a", "a", "a"]
    +
    + +
diff --git a/functions/pl.scanCSV.html b/functions/pl.scanCSV.html new file mode 100644 index 00000000..46430e99 --- /dev/null +++ b/functions/pl.scanCSV.html @@ -0,0 +1,7 @@ +scanCSV | nodejs-polars

Function scanCSV

  • Lazily read from a CSV file or multiple files via glob patterns.

    +

    This allows the query optimizer to push down predicates and +projections to the scan level, thereby potentially reducing +memory overhead.

    +
    +

    Parameters

    Returns LazyDataFrame

diff --git a/functions/pl.scanIPC.html b/functions/pl.scanIPC.html new file mode 100644 index 00000000..0d19762a --- /dev/null +++ b/functions/pl.scanIPC.html @@ -0,0 +1,4 @@ +scanIPC | nodejs-polars

Function scanIPC

  • Lazily read from an Arrow IPC file (Feather v2) or multiple files via glob patterns.

    +
    +

    Parameters

    • path: string

      Path to a IPC file.

      +
    • Optionaloptions: Partial<ScanIPCOptions>

    Returns LazyDataFrame

diff --git a/functions/pl.scanJson.html b/functions/pl.scanJson.html new file mode 100644 index 00000000..d750732b --- /dev/null +++ b/functions/pl.scanJson.html @@ -0,0 +1,11 @@ +scanJson | nodejs-polars

Function scanJson

  • Read a JSON file or string into a DataFrame.

    +

    Note: Currently only newline delimited JSON is supported

    +

    Parameters

    • path: string

      path to json file

      +
        +
      • path: Path to a file or a file like string. Any valid filepath can be used. Example: ./file.json.
      • +
      +
    • Optionaloptions: Partial<ScanJsonOptions>

    Returns LazyDataFrame

    (DataFrame)

    +
    > const df = pl.scanJson('path/to/file.json', {numRows: 2}).collectSync()
    > console.log(df)
    shape: (2, 3)
    ╭─────┬─────┬─────╮
    abc
    │ --- ┆ --- ┆ --- │
    i64stri64
    ╞═════╪═════╪═════╡
    1foo3
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    2bar6
    ╰─────┴─────┴─────╯ +
    + +
diff --git a/functions/pl.scanParquet.html b/functions/pl.scanParquet.html new file mode 100644 index 00000000..c927678d --- /dev/null +++ b/functions/pl.scanParquet.html @@ -0,0 +1,7 @@ +scanParquet | nodejs-polars

Function scanParquet

  • Lazily read from a local or cloud-hosted parquet file (or files).

    +

    This function allows the query optimizer to push down predicates and projections to +the scan level, typically increasing performance and reducing memory overhead.

    +

    This allows the query optimizer to push down predicates and projections to the scan level, +thereby potentially reducing memory overhead.

    +

    Parameters

    • source: string

      Path(s) to a file. If a single path is given, it can be a globbing pattern.

      +
    • options: ScanParquetOptions = {}

    Returns LazyDataFrame

diff --git a/functions/pl.select.html b/functions/pl.select.html new file mode 100644 index 00000000..207dffe3 --- /dev/null +++ b/functions/pl.select.html @@ -0,0 +1,3 @@ +select | nodejs-polars

Function select

  • Run polars expressions without a context.

    +

    This is syntactic sugar for running df.select on an empty DataFrame.

    +

    Parameters

    • expr: ExprOrString
    • Rest...exprs: ExprOrString[]

    Returns pl.DataFrame

diff --git a/functions/pl.spearmanRankCorr.html b/functions/pl.spearmanRankCorr.html new file mode 100644 index 00000000..dd5b3db5 --- /dev/null +++ b/functions/pl.spearmanRankCorr.html @@ -0,0 +1,2 @@ +spearmanRankCorr | nodejs-polars

Function spearmanRankCorr

  • Compute the spearman rank correlation between two columns.

    +

    Parameters

    • a: ExprOrString
    • b: ExprOrString

    Returns pl.Expr

diff --git a/functions/pl.struct-2.html b/functions/pl.struct-2.html new file mode 100644 index 00000000..01e957d8 --- /dev/null +++ b/functions/pl.struct-2.html @@ -0,0 +1,3 @@ +struct | nodejs-polars

Function struct

diff --git a/functions/pl.sumHorizontal.html b/functions/pl.sumHorizontal.html new file mode 100644 index 00000000..490094c0 --- /dev/null +++ b/functions/pl.sumHorizontal.html @@ -0,0 +1,5 @@ +sumHorizontal | nodejs-polars

Function sumHorizontal

  • Sum all values horizontally across columns.

    +

    Parameters

    • exprs: ExprOrString | ExprOrString[]

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    ... {
    ... "a": [1, 8, 3],
    ... "b": [4, 5, null],
    ... "c": ["x", "y", "z"],
    ... }
    ... )
    >>> df.withColumns(pl.sumHorizontal(pl.col("a"), ol.col("b")))
    shape: (3, 4)
    ┌─────┬──────┬─────┬──────┐
    abcsum
    │ --- ┆ --- ┆ --- ┆ --- │
    i64i64stri64
    ╞═════╪══════╪═════╪══════╡
    14x5
    85y13
    3nullznull
    └─────┴──────┴─────┴──────┘ +
    + +
diff --git a/functions/pl.tail.html b/functions/pl.tail.html new file mode 100644 index 00000000..3fe8a607 --- /dev/null +++ b/functions/pl.tail.html @@ -0,0 +1,2 @@ +tail | nodejs-polars

Function tail

diff --git a/functions/pl.when-1.html b/functions/pl.when-1.html new file mode 100644 index 00000000..751c94b4 --- /dev/null +++ b/functions/pl.when-1.html @@ -0,0 +1,5 @@ +when | nodejs-polars

Function when

  • Start a when, then, otherwise expression.

    +

    Parameters

    Returns When

    // Below we add a column with the value 1, where column "foo" > 2 and the value -1 where it isn't.
    > df = pl.DataFrame({"foo": [1, 3, 4], "bar": [3, 4, 0]})
    > df.withColumn(pl.when(pl.col("foo").gt(2)).then(pl.lit(1)).otherwise(pl.lit(-1)))
    shape: (3, 3)
    ┌─────┬─────┬─────────┐
    foobarliteral
    │ --- ┆ --- ┆ --- │
    i64i64i32
    ╞═════╪═════╪═════════╡
    13 ┆ -1
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
    341
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
    401
    └─────┴─────┴─────────┘

    // Or with multiple `when, thens` chained:
    > df.with_column(
    ... pl.when(pl.col("foo").gt(2))
    ... .then(1)
    ... .when(pl.col("bar").gt(2))
    ... .then(4)
    ... .otherwise(-1)
    ... )
    shape: (3, 3)
    ┌─────┬─────┬─────────┐
    foobarliteral
    │ --- ┆ --- ┆ --- │
    i64i64i32
    ╞═════╪═════╪═════════╡
    134
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
    341
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌┤
    401
    └─────┴─────┴─────────┘ +
    + +
diff --git a/hierarchy.html b/hierarchy.html new file mode 100644 index 00000000..1f8318e5 --- /dev/null +++ b/hierarchy.html @@ -0,0 +1 @@ +nodejs-polars
diff --git a/index.html b/index.html new file mode 100644 index 00000000..2f7f89e6 --- /dev/null +++ b/index.html @@ -0,0 +1,88 @@ +nodejs-polars

nodejs-polars

Polars

Polars: Blazingly fast DataFrames in Rust, Python, Node.js, R and SQL

+

rust docs +Build and test + +PyPI Latest Release +NPM Latest Release

+

Documentation: Node.js +- Rust +- Python +- R +|StackOverflow: Node.js +- Rust +- Python +| User Guide +| Discord

+
// esm
import pl from 'nodejs-polars';

// require
const pl = require('nodejs-polars'); +
+ +
> const fooSeries = 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({reverse: true})
shape: (3,)
Series: 'foo' [f64]
[
3
2
1
]
> fooSeries.toArray()
[1, 2, 3]

// Series are 'Iterables' so you can use javascript iterable syntax on them
> [...fooSeries]
[1, 2, 3]

> fooSeries[0]
1
+
+ +
>const df = 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)
┌──────────┬──────────┬──────────────┬─────┬─────────────┬─────────────┬─────────────┐
fruitscarsliteral_striBsum_A_by_casum_A_by_frrev_A_by_fr
│ --- ┆ --- ┆ ng_fruits ┆ --- ┆ rsuitsuits
strstr ┆ --- ┆ i64 ┆ --- ┆ --- ┆ --- │
│ ┆ ┆ str ┆ ┆ i64i64i64
╞══════════╪══════════╪══════════════╪═════╪═════════════╪═════════════╪═════════════╡
"apple""beetle""fruits"11474
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
"apple""beetle""fruits"11473
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
"banana""beetle""fruits"11485
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
"banana""audi""fruits"11282
├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
"banana""beetle""fruits"11481
└──────────┴──────────┴──────────────┴─────┴─────────────┴─────────────┴─────────────┘ +
+ +
> 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 +
+ +

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.59 - Only needed for development
  • +
+

In Deno modules you can import polars straight from npm:

+
import pl from "npm:nodejs-polars";
+
+ +

With Deno 1.37, you can use the display function to display a DataFrame in the notebook:

+
import pl from "npm:nodejs-polars";
import { display } from "https://deno.land/x/display@v1.1.1/mod.ts";

let response = await fetch(
"https://cdn.jsdelivr.net/npm/world-atlas@1/world/110m.tsv",
);
let data = await response.text();
let df = pl.readCSV(data, { sep: "\t" });
await display(df) +
+ +

With Deno 1.38, you only have to make the dataframe be the last expression in the cell:

+
import pl from "npm:nodejs-polars";
let response = await fetch(
"https://cdn.jsdelivr.net/npm/world-atlas@1/world/110m.tsv",
);
let data = await response.text();
let df = pl.readCSV(data, { sep: "\t" });
df +
+ +image +
+

Want to know about all the features Polars supports? Read the docs!

+ + + +

Want to contribute? Read our contribution guideline.

+

If you want a bleeding edge release or maximal performance you should compile polars from source.

+
    +
  1. Install the latest Rust compiler
  2. +
  3. Run npm|yarn install
  4. +
  5. 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
      +
      + +
    • +
    +
  6. +
+

To use nodejs-polars with Webpack please use node-loader and webpack.config.js

+

Development of Polars is proudly powered by

+

Xomnia

+

+
diff --git a/interfaces/ConcatOptions.html b/interfaces/ConcatOptions.html new file mode 100644 index 00000000..dcfa31e0 --- /dev/null +++ b/interfaces/ConcatOptions.html @@ -0,0 +1,4 @@ +ConcatOptions | nodejs-polars

Interface ConcatOptions

Options for concat

+
interface ConcatOptions {
    how?: "vertical" | "horizontal" | "diagonal";
    rechunk?: boolean;
}

Properties

Properties

how?: "vertical" | "horizontal" | "diagonal"
rechunk?: boolean
diff --git a/interfaces/DataFrameConstructor.html b/interfaces/DataFrameConstructor.html new file mode 100644 index 00000000..f0a02fdd --- /dev/null +++ b/interfaces/DataFrameConstructor.html @@ -0,0 +1,29 @@ +DataFrameConstructor | nodejs-polars

Interface DataFrameConstructor

DataFrame constructor

+
interface DataFrameConstructor {
    deserialize(buf: Buffer, format: "json" | "bincode"): pl.DataFrame;
    isDataFrame(arg: any): arg is pl.DataFrame;
    (): pl.DataFrame;
    (data: any, options?: {
        columns?: any[];
        inferSchemaLength?: number;
        orient?: "row" | "col";
        schema?: Record<string, string | DataType>;
        schemaOverrides?: Record<string, string | DataType>;
    }): pl.DataFrame;
}

Hierarchy

  • Create an empty DataFrame

    +

    Returns pl.DataFrame

  • Create a DataFrame from a JavaScript object

    +

    Parameters

    • data: any

      object or array of data

      +
    • Optionaloptions: {
          columns?: any[];
          inferSchemaLength?: number;
          orient?: "row" | "col";
          schema?: Record<string, string | DataType>;
          schemaOverrides?: Record<string, string | DataType>;
      }

      options

      +
      • Optionalcolumns?: any[]

        column names

        +
      • OptionalinferSchemaLength?: number

        The maximum number of rows to scan for schema inference. If set to None, the full data may be scanned (this can be slow). This parameter only applies if the input data is a sequence or generator of rows; other input is read as-is. +The number of entries in the schema should match the underlying data dimensions, unless a sequence of dictionaries is being passed, in which case a partial schema can be declared to prevent specific fields from being loaded.

        +
      • Optionalorient?: "row" | "col"

        orientation of the data [row, col] +Whether to interpret two-dimensional data as columns or as rows. If None, the orientation is inferred by matching the columns and data dimensions. If this does not yield conclusive results, column orientation is used.

        +
      • Optionalschema?: Record<string, string | DataType>

        The schema of the resulting DataFrame. The schema may be declared in several ways:

        +
        - As a dict of {name:type} pairs; if type is None, it will be auto-inferred.
        +
        +- As a list of column names; in this case types are automatically inferred.
        +
        +- As a list of (name,type) pairs; this is equivalent to the dictionary form.
        +
        +

        If you supply a list of column names that does not match the names in the underlying data, the names given here will overwrite them. The number of names given in the schema should match the underlying data dimensions.

        +

        If set to null (default), the schema is inferred from the data.

        +
      • OptionalschemaOverrides?: Record<string, string | DataType>

        Support type specification or override of one or more columns; note that any dtypes inferred from the schema param will be overridden.

        +

    Returns pl.DataFrame

    data = {'a': [1n, 2n], 'b': [3, 4]}
    df = pl.DataFrame(data)
    df
    shape: (2, 2)
    ╭─────┬─────╮
    ab
    │ --- ┆ --- │
    u64i64
    ╞═════╪═════╡
    13
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    24
    ╰─────┴─────╯ +
    + +

Methods

diff --git a/interfaces/ExprConstructor.html b/interfaces/ExprConstructor.html new file mode 100644 index 00000000..8bd4f74f --- /dev/null +++ b/interfaces/ExprConstructor.html @@ -0,0 +1,6 @@ +ExprConstructor | nodejs-polars

Interface ExprConstructor

interface ExprConstructor {
    deserialize(buf: Buffer, format: "json" | "bincode"): pl.Expr;
    isExpr(arg: any): arg is pl.Expr;
}

Hierarchy

  • Deserialize<pl.Expr>
    • ExprConstructor

Methods

diff --git a/interfaces/GroupBy.html b/interfaces/GroupBy.html new file mode 100644 index 00000000..2e3f48c4 --- /dev/null +++ b/interfaces/GroupBy.html @@ -0,0 +1,58 @@ +GroupBy | nodejs-polars

Interface GroupBy

Starts a new GroupBy operation.

+
interface GroupBy {
    [inspect](): string;
    agg(...columns: pl.Expr[]): pl.DataFrame;
    agg(columns: Record<string, (keyof Expr) | (keyof Expr)[]>): pl.DataFrame;
    aggList(): pl.DataFrame;
    count(): pl.DataFrame;
    first(): pl.DataFrame;
    groups(): pl.DataFrame;
    head(n?: number): pl.DataFrame;
    last(): pl.DataFrame;
    len(): pl.DataFrame;
    max(): pl.DataFrame;
    mean(): pl.DataFrame;
    median(): pl.DataFrame;
    min(): pl.DataFrame;
    nUnique(): pl.DataFrame;
    pivot(__namedParameters: {
        pivotCol: string;
        valuesCol: string;
    }): PivotOps;
    pivot(pivotCol: string, valuesCol: string): PivotOps;
    quantile(quantile: number): pl.DataFrame;
    sum(): pl.DataFrame;
    tail(n?: number): pl.DataFrame;
    toString(): string;
}

Methods

  • Use multiple aggregations on columns. +This can be combined with complete lazy API and is considered idiomatic polars.

    +
    +

    Parameters

    • Rest...columns: pl.Expr[]

      map of 'col' -> 'agg'

      +
        +
      • using lazy API (recommended): [col('foo').sum(), col('bar').min()]
      • +
      • using multiple aggs per column: {'foo': ['sum', 'numUnique'], 'bar': ['min'] }
      • +
      • using single agg per column: {'foo': ['sum'], 'bar': 'min' }
      • +
      +

    Returns pl.DataFrame

    // use lazy api rest parameter style
    > df.groupBy('foo', 'bar')
    > .agg(pl.sum('ham'), col('spam').tail(4).sum())

    // use lazy api array style
    > df.groupBy('foo', 'bar')
    > .agg([pl.sum('ham'), col('spam').tail(4).sum()])

    // use a mapping
    > df.groupBy('foo', 'bar')
    > .agg({'spam': ['sum', 'min']})
    +
    + +
  • Parameters

    • columns: Record<string, (keyof Expr) | (keyof Expr)[]>

    Returns pl.DataFrame

  • Return first n rows of each group.

    +

    Parameters

    • Optionaln: number

      Number of values of the group to select

      +

    Returns pl.DataFrame

    > df = pl.DataFrame({
    > "letters": ["c", "c", "a", "c", "a", "b"],
    > "nrs": [1, 2, 3, 4, 5, 6]
    > })
    > df
    shape: (6, 2)
    ╭─────────┬─────╮
    lettersnrs
    │ --- ┆ --- │
    stri64
    ╞═════════╪═════╡
    "c"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"2
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"3
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"4
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"5
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"6
    ╰─────────┴─────╯
    > df.groupby("letters")
    > .head(2)
    > .sort("letters");
    > >>
    shape: (5, 2)
    ╭─────────┬─────╮
    lettersnrs
    │ --- ┆ --- │
    stri64
    ╞═════════╪═════╡
    "a"3
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"5
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"6
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"2
    ╰─────────┴─────╯ +
    + +
  • Do a pivot operation based on the group key, a pivot column and an aggregation function on the values column.

    +

    Parameters

    • __namedParameters: {
          pivotCol: string;
          valuesCol: string;
      }
      • pivotCol: string
      • valuesCol: string

    Returns PivotOps

  • Parameters

    • pivotCol: string
    • valuesCol: string

    Returns PivotOps

diff --git a/interfaces/JoinOptions.html b/interfaces/JoinOptions.html new file mode 100644 index 00000000..82405279 --- /dev/null +++ b/interfaces/JoinOptions.html @@ -0,0 +1,12 @@ +JoinOptions | nodejs-polars

Interface JoinOptions

options for join operations

+

DataFrame.join

+
interface JoinOptions {
    how?: JoinType;
    leftOn?: string | string[];
    on?: string | string[];
    rightOn?: string | string[];
    suffix?: string;
}

Hierarchy (view full)

Properties

Properties

how?: JoinType

join type

+
leftOn?: string | string[]

left join column

+
on?: string | string[]

left and right join column

+
rightOn?: string | string[]

right join column

+
suffix?: string
diff --git a/interfaces/JsonScanOptions.html b/interfaces/JsonScanOptions.html new file mode 100644 index 00000000..1bcd8502 --- /dev/null +++ b/interfaces/JsonScanOptions.html @@ -0,0 +1,9 @@ +JsonScanOptions | nodejs-polars

Interface JsonScanOptions

Options for scanJson

+
interface JsonScanOptions {
    batchSize?: number;
    inferSchemaLength?: number;
    lowMemory?: boolean;
    nThreads?: number;
    numRows?: number;
    rowCount?: RowCount;
    skipRows?: number;
}

Properties

batchSize?: number
inferSchemaLength?: number
lowMemory?: boolean
nThreads?: number
numRows?: number
rowCount?: RowCount
skipRows?: number
diff --git a/interfaces/LazyDataFrameConstructor.html b/interfaces/LazyDataFrameConstructor.html new file mode 100644 index 00000000..fcb60f1b --- /dev/null +++ b/interfaces/LazyDataFrameConstructor.html @@ -0,0 +1,7 @@ +LazyDataFrameConstructor | nodejs-polars

Interface LazyDataFrameConstructor

interface LazyDataFrameConstructor {
    deserialize(buf: Buffer, format: "json" | "bincode"): LazyDataFrame;
    fromExternal(external: any): LazyDataFrame;
    isLazyDataFrame(arg: any): arg is LazyDataFrame;
}

Hierarchy

Methods

diff --git a/interfaces/LazyJoinOptions.html b/interfaces/LazyJoinOptions.html new file mode 100644 index 00000000..728f0543 --- /dev/null +++ b/interfaces/LazyJoinOptions.html @@ -0,0 +1,14 @@ +LazyJoinOptions | nodejs-polars

Interface LazyJoinOptions

options for lazy join operations

+

LazyDataFrame.join

+
interface LazyJoinOptions {
    allowParallel?: boolean;
    forceParallel?: boolean;
    how?: JoinType;
    leftOn?: string | string[];
    on?: string | string[];
    rightOn?: string | string[];
    suffix?: string;
}

Hierarchy (view full)

Properties

allowParallel?: boolean
forceParallel?: boolean
how?: JoinType

join type

+
leftOn?: string | string[]

left join column

+
on?: string | string[]

left and right join column

+
rightOn?: string | string[]

right join column

+
suffix?: string
diff --git a/interfaces/ReadAvroOptions.html b/interfaces/ReadAvroOptions.html new file mode 100644 index 00000000..2d2b892f --- /dev/null +++ b/interfaces/ReadAvroOptions.html @@ -0,0 +1,4 @@ +ReadAvroOptions | nodejs-polars

Interface ReadAvroOptions

interface ReadAvroOptions {
    columns: string[] | number[];
    nRows: number;
    projection: number;
}

Properties

Properties

columns: string[] | number[]
nRows: number
projection: number
diff --git a/interfaces/ReadCsvOptions.html b/interfaces/ReadCsvOptions.html new file mode 100644 index 00000000..9645c257 --- /dev/null +++ b/interfaces/ReadCsvOptions.html @@ -0,0 +1,29 @@ +ReadCsvOptions | nodejs-polars

Interface ReadCsvOptions

interface ReadCsvOptions {
    chunkSize: number;
    columns: string[];
    commentChar: string;
    dtypes: Record<string, DataType>;
    encoding: "utf8" | "utf8-lossy";
    endRows: number;
    eolChar: string;
    hasHeader: boolean;
    ignoreErrors: boolean;
    inferSchemaLength: null | number;
    lowMemory: boolean;
    missingIsNull: boolean;
    nRows: number;
    nullValues: string | string[] | Record<string, string>;
    numThreads: number;
    projection: number;
    quoteChar: string;
    raiseIfEmpty: boolean;
    rechunk: boolean;
    rowCount: any;
    sampleSize: number;
    schema: Record<string, DataType>;
    sep: string;
    skipRows: number;
    skipRowsAfterHeader: number;
    startRows: number;
    truncateRaggedLines: boolean;
    tryParseDates: boolean;
}

Properties

chunkSize: number
columns: string[]
commentChar: string
dtypes: Record<string, DataType>
encoding: "utf8" | "utf8-lossy"
endRows: number
eolChar: string
hasHeader: boolean
ignoreErrors: boolean
inferSchemaLength: null | number
lowMemory: boolean
missingIsNull: boolean
nRows: number
nullValues: string | string[] | Record<string, string>
numThreads: number
projection: number
quoteChar: string
raiseIfEmpty: boolean
rechunk: boolean
rowCount: any
sampleSize: number
schema: Record<string, DataType>
sep: string
skipRows: number
skipRowsAfterHeader: number
startRows: number
truncateRaggedLines: boolean
tryParseDates: boolean
diff --git a/interfaces/ReadIPCOptions.html b/interfaces/ReadIPCOptions.html new file mode 100644 index 00000000..228e5686 --- /dev/null +++ b/interfaces/ReadIPCOptions.html @@ -0,0 +1,3 @@ +ReadIPCOptions | nodejs-polars

Interface ReadIPCOptions

interface ReadIPCOptions {
    columns: string[] | number[];
    nRows: number;
}

Properties

Properties

columns: string[] | number[]
nRows: number
diff --git a/interfaces/ReadJsonOptions.html b/interfaces/ReadJsonOptions.html new file mode 100644 index 00000000..acab55b9 --- /dev/null +++ b/interfaces/ReadJsonOptions.html @@ -0,0 +1,4 @@ +ReadJsonOptions | nodejs-polars

Interface ReadJsonOptions

interface ReadJsonOptions {
    batchSize: number;
    format: "json" | "lines";
    inferSchemaLength: null | number;
}

Properties

batchSize: number
format: "json" | "lines"
inferSchemaLength: null | number
diff --git a/interfaces/ReadParquetOptions.html b/interfaces/ReadParquetOptions.html new file mode 100644 index 00000000..690b71dd --- /dev/null +++ b/interfaces/ReadParquetOptions.html @@ -0,0 +1,6 @@ +ReadParquetOptions | nodejs-polars

Interface ReadParquetOptions

Options for readParquet

+
interface ReadParquetOptions {
    columns?: string[] | number[];
    numRows?: number;
    parallel?:
        | "auto"
        | "columns"
        | "row_groups"
        | "none";
    rowCount?: RowCount;
}

Properties

columns?: string[] | number[]
numRows?: number
parallel?:
    | "auto"
    | "columns"
    | "row_groups"
    | "none"
rowCount?: RowCount
diff --git a/interfaces/RollingOptions.html b/interfaces/RollingOptions.html new file mode 100644 index 00000000..5d09a31a --- /dev/null +++ b/interfaces/RollingOptions.html @@ -0,0 +1,7 @@ +RollingOptions | nodejs-polars

Interface RollingOptions

options for rolling window operations

+
interface RollingOptions {
    center?: boolean;
    ddof?: number;
    minPeriods?: number;
    weights?: number[];
    windowSize: number;
}

Hierarchy (view full)

Properties

center?: boolean
ddof?: number
minPeriods?: number
weights?: number[]
windowSize: number
diff --git a/interfaces/RollingQuantileOptions.html b/interfaces/RollingQuantileOptions.html new file mode 100644 index 00000000..62146b23 --- /dev/null +++ b/interfaces/RollingQuantileOptions.html @@ -0,0 +1,9 @@ +RollingQuantileOptions | nodejs-polars

Interface RollingQuantileOptions

options for rolling quantile operations

+
interface RollingQuantileOptions {
    center?: boolean;
    ddof?: number;
    interpolation?: InterpolationMethod;
    minPeriods?: number;
    quantile: number;
    weights?: number[];
    windowSize: number;
}

Hierarchy (view full)

Properties

center?: boolean
ddof?: number
interpolation?: InterpolationMethod
minPeriods?: number
quantile: number
weights?: number[]
windowSize: number
diff --git a/interfaces/RollingSkewOptions.html b/interfaces/RollingSkewOptions.html new file mode 100644 index 00000000..a7daa911 --- /dev/null +++ b/interfaces/RollingSkewOptions.html @@ -0,0 +1,4 @@ +RollingSkewOptions | nodejs-polars

Interface RollingSkewOptions

options for rolling mean operations

+
interface RollingSkewOptions {
    bias?: boolean;
    windowSize: number;
}

Properties

Properties

bias?: boolean
windowSize: number
diff --git a/interfaces/RowCount.html b/interfaces/RowCount.html new file mode 100644 index 00000000..374b8d71 --- /dev/null +++ b/interfaces/RowCount.html @@ -0,0 +1,6 @@ +RowCount | nodejs-polars

Interface RowCount

Add row count as column

+
interface RowCount {
    name: string;
    offset: string;
}

Properties

Properties

name: string

name of column

+
offset: string

offset

+
diff --git a/interfaces/ScanCsvOptions.html b/interfaces/ScanCsvOptions.html new file mode 100644 index 00000000..98333930 --- /dev/null +++ b/interfaces/ScanCsvOptions.html @@ -0,0 +1,21 @@ +ScanCsvOptions | nodejs-polars

Interface ScanCsvOptions

interface ScanCsvOptions {
    cache: boolean;
    commentChar: string;
    encoding: string;
    eolChar: string;
    hasHeader: boolean;
    ignoreErrors: boolean;
    inferSchemaLength: null | number;
    lowMemory: boolean;
    missingUtf8IsEmptyString: boolean;
    nRows: number;
    nullValues: string | string[] | Record<string, string>;
    parseDates: boolean;
    quoteChar: string;
    raiseIfEmpty: boolean;
    rechunk: boolean;
    schema: Record<string, DataType>;
    sep: string;
    skipRows: number;
    skipRowsAfterHeader: number;
    truncateRaggedLines: boolean;
}

Properties

cache: boolean
commentChar: string
encoding: string
eolChar: string
hasHeader: boolean
ignoreErrors: boolean
inferSchemaLength: null | number
lowMemory: boolean
missingUtf8IsEmptyString: boolean
nRows: number
nullValues: string | string[] | Record<string, string>
parseDates: boolean
quoteChar: string
raiseIfEmpty: boolean
rechunk: boolean
schema: Record<string, DataType>
sep: string
skipRows: number
skipRowsAfterHeader: number
truncateRaggedLines: boolean
diff --git a/interfaces/ScanIPCOptions.html b/interfaces/ScanIPCOptions.html new file mode 100644 index 00000000..3de3d4ca --- /dev/null +++ b/interfaces/ScanIPCOptions.html @@ -0,0 +1,4 @@ +ScanIPCOptions | nodejs-polars

Interface ScanIPCOptions

interface ScanIPCOptions {
    cache: boolean;
    nRows: number;
    rechunk: boolean;
}

Properties

Properties

cache: boolean
nRows: number
rechunk: boolean
diff --git a/interfaces/ScanParquetOptions.html b/interfaces/ScanParquetOptions.html new file mode 100644 index 00000000..8a24754b --- /dev/null +++ b/interfaces/ScanParquetOptions.html @@ -0,0 +1,8 @@ +ScanParquetOptions | nodejs-polars

Interface ScanParquetOptions

Options for scanParquet

+
interface ScanParquetOptions {
    cache?: boolean;
    columns?: string[] | number[];
    numRows?: number;
    parallel?:
        | "auto"
        | "columns"
        | "row_groups"
        | "none";
    rechunk?: boolean;
    rowCount?: RowCount;
}

Properties

cache?: boolean
columns?: string[] | number[]
numRows?: number
parallel?:
    | "auto"
    | "columns"
    | "row_groups"
    | "none"
rechunk?: boolean
rowCount?: RowCount
diff --git a/interfaces/SinkCsvOptions.html b/interfaces/SinkCsvOptions.html new file mode 100644 index 00000000..8ade4a0a --- /dev/null +++ b/interfaces/SinkCsvOptions.html @@ -0,0 +1,16 @@ +SinkCsvOptions | nodejs-polars

Interface SinkCsvOptions

Options for

+

LazyDataFrame.sinkCSV

+
interface SinkCsvOptions {
    batchSize?: number;
    dateFormat?: string;
    datetimeFormat?: string;
    floatPrecision?: number;
    includeBom?: boolean;
    includeHeader?: boolean;
    lineTerminator?: string;
    maintainOrder?: boolean;
    nullValue?: string;
    quote?: string;
    quoteChar?: string;
    separator?: string;
    timeFormat?: string;
}

Properties

batchSize?: number
dateFormat?: string
datetimeFormat?: string
floatPrecision?: number
includeBom?: boolean
includeHeader?: boolean
lineTerminator?: string
maintainOrder?: boolean
nullValue?: string
quote?: string
quoteChar?: string
separator?: string
timeFormat?: string
diff --git a/interfaces/SinkParquetOptions.html b/interfaces/SinkParquetOptions.html new file mode 100644 index 00000000..a9296f36 --- /dev/null +++ b/interfaces/SinkParquetOptions.html @@ -0,0 +1,15 @@ +SinkParquetOptions | nodejs-polars

Interface SinkParquetOptions

Options for

+

LazyDataFrame.sinkParquet

+
interface SinkParquetOptions {
    compression?: string;
    compressionLevel?: number;
    dataPagesizeLimit?: number;
    maintainOrder?: boolean;
    noOptimization?: boolean;
    predicatePushdown?: boolean;
    projectionPushdown?: boolean;
    rowGroupSize?: number;
    simplifyExpression?: boolean;
    slicePushdown?: boolean;
    statistics?: boolean;
    typeCoercion?: boolean;
}

Properties

compression?: string
compressionLevel?: number
dataPagesizeLimit?: number
maintainOrder?: boolean
noOptimization?: boolean
predicatePushdown?: boolean
projectionPushdown?: boolean
rowGroupSize?: number
simplifyExpression?: boolean
slicePushdown?: boolean
statistics?: boolean
typeCoercion?: boolean
diff --git a/interfaces/StringNamespace.html b/interfaces/StringNamespace.html new file mode 100644 index 00000000..5123c6f6 --- /dev/null +++ b/interfaces/StringNamespace.html @@ -0,0 +1,128 @@ +StringNamespace | nodejs-polars

Interface StringNamespace

namespace containing expr string functions

+
interface StringNamespace {
    concat(delimiter: string, ignoreNulls?: boolean): pl.Expr;
    contains(pat: string | RegExp): pl.Expr;
    decode(encoding: "base64" | "hex", strict?: boolean): pl.Expr;
    decode(options: {
        encoding: "base64" | "hex";
        strict?: boolean;
    }): pl.Expr;
    encode(encoding: "base64" | "hex"): pl.Expr;
    extract(pat: any, groupIndex: number): pl.Expr;
    jsonDecode(dtype?: DataType, inferSchemaLength?: number): pl.Expr;
    jsonExtract(dtype?: DataType, inferSchemaLength?: number): pl.Expr;
    jsonPathMatch(pat: string): pl.Expr;
    lengths(): pl.Expr;
    lstrip(): pl.Expr;
    padEnd(length: number, fillChar: string): pl.Expr;
    padStart(length: number, fillChar: string): pl.Expr;
    replace(pat: string | RegExp, val: string): pl.Expr;
    replaceAll(pat: string | RegExp, val: string): pl.Expr;
    rstrip(): pl.Expr;
    slice(start: number | pl.Expr, length?: number | pl.Expr): pl.Expr;
    split(by: string, options?: boolean | {
        inclusive?: boolean;
    }): pl.Expr;
    strip(): pl.Expr;
    strptime(datatype: Date, fmt?: string): pl.Expr;
    strptime(datatype: Datetime, fmt?: string): pl.Expr;
    strptime(datatype: ((timeUnit?:
        | TimeUnit
        | "ms"
        | "ns"
        | "us", timeZone?: undefined | null | string) => DataType), fmt?: string): pl.Expr;
    toLowerCase(): pl.Expr;
    toUpperCase(): pl.Expr;
    zFill(length: number | pl.Expr): pl.Expr;
}

Hierarchy

  • StringFunctions<pl.Expr>
    • StringNamespace

Methods

  • Vertically concat the values in the Series to a single string value.

    +

    Parameters

    • delimiter: string
    • OptionalignoreNulls: boolean

    Returns pl.Expr

    >>> df = pl.DataFrame({"foo": [1, null, 2]})
    >>> df = df.select(pl.col("foo").str.concat("-"))
    >>> df
    shape: (1, 1)
    ┌──────────┐
    foo
    │ --- │
    str
    ╞══════════╡
    1-null-2
    └──────────┘ +
    + +
  • Check if strings in Series contain regex pattern.

    +

    Parameters

    • pat: string | RegExp

    Returns pl.Expr

  • Decodes a value using the provided encoding

    +

    Parameters

    • encoding: "base64" | "hex"

      hex | base64

      +
    • Optionalstrict: boolean

      how to handle invalid inputs

      +
      - true: method will throw error if unable to decode a value
      +- false: unhandled values will be replaced with `null`
      +
      +

    Returns pl.Expr

    >>> df = pl.DataFrame({"strings": ["666f6f", "626172", null]})
    >>> df.select(col("strings").str.decode("hex"))
    shape: (3, 1)
    ┌─────────┐
    strings
    │ --- │
    str
    ╞═════════╡
    foo
    ├╌╌╌╌╌╌╌╌╌┤
    bar
    ├╌╌╌╌╌╌╌╌╌┤
    null
    └─────────┘ +
    + +
  • Decodes a value using the provided encoding

    +

    Parameters

    • options: {
          encoding: "base64" | "hex";
          strict?: boolean;
      }
      • encoding: "base64" | "hex"
      • Optionalstrict?: boolean

    Returns pl.Expr

    > df = pl.DataFrame({"strings": ["666f6f", "626172", null]})
    > df.select(col("strings").str.decode("hex"))
    shape: (3, 1)
    ┌─────────┐
    strings
    │ --- │
    str
    ╞═════════╡
    foo
    ├╌╌╌╌╌╌╌╌╌┤
    bar
    ├╌╌╌╌╌╌╌╌╌┤
    null
    └─────────┘ +
    + +
  • Encodes a value using the provided encoding

    +

    Parameters

    • encoding: "base64" | "hex"

      hex | base64

      +

    Returns pl.Expr

    >>> df = pl.DataFrame({"strings", ["foo", "bar", null]})
    >>> df.select(col("strings").str.encode("hex"))
    shape: (3, 1)
    ┌─────────┐
    strings
    │ --- │
    str
    ╞═════════╡
    │ 666f6f
    ├╌╌╌╌╌╌╌╌╌┤
    626172
    ├╌╌╌╌╌╌╌╌╌┤
    null
    └─────────┘ +
    + +
  • Extract the target capture group from provided patterns.

    +

    Parameters

    • pat: any
    • groupIndex: number

      Index of the targeted capture group. +Group 0 mean the whole pattern, first group begin at index 1 +Default to the first capture group

      +

    Returns pl.Expr

    Utf8 array. Contain null if original value is null or regex capture nothing.

    +
    > df = pl.DataFrame({
    ... 'a': [
    ... 'http://vote.com/ballon_dor?candidate=messi&ref=polars',
    ... 'http://vote.com/ballon_dor?candidat=jorginho&ref=polars',
    ... 'http://vote.com/ballon_dor?candidate=ronaldo&ref=polars'
    ... ]})
    > df.select(pl.col('a').str.extract(/candidate=(\w+)/, 1))
    shape: (3, 1)
    ┌─────────┐
    a
    │ --- │
    str
    ╞═════════╡
    messi
    ├╌╌╌╌╌╌╌╌╌┤
    null
    ├╌╌╌╌╌╌╌╌╌┤
    ronaldo
    └─────────┘ +
    + +
  • Parse string values as JSON. +Throw errors if encounter invalid JSON strings.

    +

    Parameters

    • Optionaldtype: DataType
    • OptionalinferSchemaLength: number

    Returns pl.Expr

    DF with struct

    +

    Not implemented ATM

    +
    >>> df = pl.DataFrame( {json: ['{"a":1, "b": true}', null, '{"a":2, "b": false}']} )
    >>> df.select(pl.col("json").str.jsonDecode())
    shape: (3, 1)
    ┌─────────────┐
    json
    │ --- │
    struct[2] │
    ╞═════════════╡
    │ {1,true} │
    │ {null,null} │
    │ {2,false} │
    └─────────────┘
    See Also
    ----------
    jsonPathMatch : Extract the first match of json string with provided JSONPath expression. +
    + +
  • Parse string values as JSON. +Throw errors if encounter invalid JSON strings.

    +

    Parameters

    • Optionaldtype: DataType
    • OptionalinferSchemaLength: number

    Returns pl.Expr

    DF with struct

    +

    Not implemented ATM

    +

    0.8.4

    +

    jsonDecode

    +
    >>> df = pl.DataFrame( {json: ['{"a":1, "b": true}', null, '{"a":2, "b": false}']} )
    >>> df.select(pl.col("json").str.jsonExtract())
    shape: (3, 1)
    ┌─────────────┐
    json
    │ --- │
    struct[2] │
    ╞═════════════╡
    │ {1,true} │
    │ {null,null} │
    │ {2,false} │
    └─────────────┘
    See Also
    ----------
    jsonPathMatch : Extract the first match of json string with provided JSONPath expression. +
    + +
  • Extract the first match of json string with provided JSONPath expression. +Throw errors if encounter invalid json strings. +All return value will be casted to Utf8 regardless of the original value.

    +

    Parameters

    • pat: string

    Returns pl.Expr

    Utf8 array. Contain null if original value is null or the jsonPath return nothing.

    +

    https://goessner.net/articles/JsonPath/

    +
    >>> df = pl.DataFrame({
    ... 'json_val': [
    ... '{"a":"1"}',
    ... null,
    ... '{"a":2}',
    ... '{"a":2.1}',
    ... '{"a":true}'
    ... ]
    ... })
    >>> df.select(pl.col('json_val').str.jsonPathMatch('$.a')
    shape: (5,)
    Series: 'json_val' [str]
    [
    "1"
    null
    "2"
    "2.1"
    "true"
    ] +
    + +
  • Add a trailing fillChar to a string until string length is reached. +If string is longer or equal to given length no modifications will be done

    +

    Parameters

    • length: number

      of the final string

      +
    • fillChar: string

      that will fill the string.

      +

    Returns pl.Expr

    If a string longer than 1 character is provided only the first character will be used +*

    +
    > df = pl.DataFrame({
    ... 'foo': [
    ... "a",
    ... "b",
    ... "LONG_WORD",
    ... "cow"
    ... ]})
    > df.select(pl.col('foo').str.padEnd("_", 3)
    shape: (4, 1)
    ┌──────────┐
    a
    │ -------- │
    str
    ╞══════════╡
    a__
    ├╌╌╌╌╌╌╌╌╌╌┤
    b__
    ├╌╌╌╌╌╌╌╌╌╌┤
    LONG_WORD
    ├╌╌╌╌╌╌╌╌╌╌┤
    cow
    └──────────┘ +
    + +
  • Add a leading fillChar to a string until string length is reached. +If string is longer or equal to given length no modifications will be done

    +

    Parameters

    • length: number

      of the final string

      +
    • fillChar: string

      that will fill the string.

      +

    Returns pl.Expr

    If a string longer than 1 character is provided only the first character will be used

    +
    > df = pl.DataFrame({
    ... 'foo': [
    ... "a",
    ... "b",
    ... "LONG_WORD",
    ... "cow"
    ... ]})
    > df.select(pl.col('foo').str.padStart("_", 3)
    shape: (4, 1)
    ┌──────────┐
    a
    │ -------- │
    str
    ╞══════════╡
    __a
    ├╌╌╌╌╌╌╌╌╌╌┤
    __b
    ├╌╌╌╌╌╌╌╌╌╌┤
    LONG_WORD
    ├╌╌╌╌╌╌╌╌╌╌┤
    cow
    └──────────┘ +
    + +
  • Replace first regex match with a string value.

    +

    Parameters

    • pat: string | RegExp
    • val: string

    Returns pl.Expr

  • Replace all regex matches with a string value.

    +

    Parameters

    • pat: string | RegExp
    • val: string

    Returns pl.Expr

  • Create subslices of the string values of a Utf8 Series.

    +

    Parameters

    • start: number | pl.Expr

      Start of the slice (negative indexing may be used).

      +
    • Optionallength: number | pl.Expr

      Optional length of the slice.

      +

    Returns pl.Expr

  • Split a string into substrings using the specified separator and return them as a Series.

    +

    Parameters

    • by: string
    • Optionaloptions: boolean | {
          inclusive?: boolean;
      }

    Returns pl.Expr

  • Parse a Series of dtype Utf8 to a Date/Datetime Series.

    +

    Parameters

    • datatype: Date

      Date or Datetime.

      +
    • Optionalfmt: string

      formatting syntax. Read more

      +

    Returns pl.Expr

  • Parse a Series of dtype Utf8 to a Date/Datetime Series.

    +

    Parameters

    • datatype: Datetime

      Date or Datetime.

      +
    • Optionalfmt: string

      formatting syntax. Read more

      +

    Returns pl.Expr

  • Parse a Series of dtype Utf8 to a Date/Datetime Series.

    +

    Parameters

    • datatype: ((timeUnit?:
          | TimeUnit
          | "ms"
          | "ns"
          | "us", timeZone?: undefined | null | string) => DataType)

      Date or Datetime.

      +
        • (timeUnit?, timeZone?): DataType
        • Calendar date and time type

          +

          Parameters

          • OptionaltimeUnit:
                | TimeUnit
                | "ms"
                | "ns"
                | "us"

            any of 'ms' | 'ns' | 'us'

            +
          • timeZone: undefined | null | string = null

            timezone string as defined by Intl.DateTimeFormat America/New_York for example.

            +

          Returns DataType

    • Optionalfmt: string

      formatting syntax. Read more

      +

    Returns pl.Expr

  • Add leading "0" to a string until string length is reached. +If string is longer or equal to given length no modifications will be done

    +

    Parameters

    • length: number | pl.Expr

      of the final string

      +

    Returns pl.Expr

    padStart +*

    +
    > df = pl.DataFrame({
    ... 'foo': [
    ... "a",
    ... "b",
    ... "LONG_WORD",
    ... "cow"
    ... ]})
    > df.select(pl.col('foo').str.justify(3)
    shape: (4, 1)
    ┌──────────┐
    a
    │ -------- │
    str
    ╞══════════╡
    │ 00a
    ├╌╌╌╌╌╌╌╌╌╌┤
    │ 00b
    ├╌╌╌╌╌╌╌╌╌╌┤
    LONG_WORD
    ├╌╌╌╌╌╌╌╌╌╌┤
    cow
    └──────────┘ +
    + +
diff --git a/interfaces/StructNamespace.html b/interfaces/StructNamespace.html new file mode 100644 index 00000000..046b198f --- /dev/null +++ b/interfaces/StructNamespace.html @@ -0,0 +1,8 @@ +StructNamespace | nodejs-polars

Interface StructNamespace

Struct functions

+
interface StructNamespace {
    field(name: string): pl.Expr;
    renameFields(names: string[]): pl.Expr;
}

Methods

diff --git a/interfaces/WriteAvroOptions.html b/interfaces/WriteAvroOptions.html new file mode 100644 index 00000000..e7df5e09 --- /dev/null +++ b/interfaces/WriteAvroOptions.html @@ -0,0 +1,3 @@ +WriteAvroOptions | nodejs-polars

Interface WriteAvroOptions

Options for writing Avro files

+
interface WriteAvroOptions {
    compression?: "uncompressed" | "snappy" | "deflate";
}

Properties

Properties

compression?: "uncompressed" | "snappy" | "deflate"
diff --git a/interfaces/WriteCsvOptions.html b/interfaces/WriteCsvOptions.html new file mode 100644 index 00000000..0d7f052f --- /dev/null +++ b/interfaces/WriteCsvOptions.html @@ -0,0 +1,13 @@ +WriteCsvOptions | nodejs-polars

Interface WriteCsvOptions

Options for DataFrame.writeCSV

+
interface WriteCsvOptions {
    batchSize?: number;
    dateFormat?: string;
    datetimeFormat?: string;
    floatPrecision?: number;
    includeBom?: boolean;
    includeHeader?: boolean;
    lineTerminator?: string;
    nullValue?: string;
    quote?: string;
    sep?: string;
    timeFormat?: string;
}

Properties

batchSize?: number
dateFormat?: string
datetimeFormat?: string
floatPrecision?: number
includeBom?: boolean
includeHeader?: boolean
lineTerminator?: string
nullValue?: string
quote?: string
sep?: string
timeFormat?: string
diff --git a/interfaces/WriteIPCOptions.html b/interfaces/WriteIPCOptions.html new file mode 100644 index 00000000..63a0978c --- /dev/null +++ b/interfaces/WriteIPCOptions.html @@ -0,0 +1,3 @@ +WriteIPCOptions | nodejs-polars

Interface WriteIPCOptions

Options for DataFrame.writeIPC

+
interface WriteIPCOptions {
    compression?: "uncompressed" | "lz4" | "zstd";
}

Properties

Properties

compression?: "uncompressed" | "lz4" | "zstd"
diff --git a/interfaces/WriteJsonOptions.html b/interfaces/WriteJsonOptions.html new file mode 100644 index 00000000..b1219480 --- /dev/null +++ b/interfaces/WriteJsonOptions.html @@ -0,0 +1,4 @@ +WriteJsonOptions | nodejs-polars

Interface WriteJsonOptions

Options for DataFrame.writeJSON

+
interface WriteJsonOptions {
    multiline?: boolean;
    orient?: "row" | "col" | "dataframe";
}

Properties

Properties

multiline?: boolean
orient?: "row" | "col" | "dataframe"
diff --git a/interfaces/WriteParquetOptions.html b/interfaces/WriteParquetOptions.html new file mode 100644 index 00000000..915ddede --- /dev/null +++ b/interfaces/WriteParquetOptions.html @@ -0,0 +1,3 @@ +WriteParquetOptions | nodejs-polars

Interface WriteParquetOptions

Options for DataFrame.writeParquet

+
interface WriteParquetOptions {
    compression?:
        | "uncompressed"
        | "snappy"
        | "gzip"
        | "lzo"
        | "brotli"
        | "lz4"
        | "zstd";
}

Properties

Properties

compression?:
    | "uncompressed"
    | "snappy"
    | "gzip"
    | "lzo"
    | "brotli"
    | "lz4"
    | "zstd"
diff --git a/interfaces/pl.Config.html b/interfaces/pl.Config.html new file mode 100644 index 00000000..fd783426 --- /dev/null +++ b/interfaces/pl.Config.html @@ -0,0 +1,16 @@ +Config | nodejs-polars

Interface Config

Configure polars; offers options for table formatting and more.

+
interface Config {
    setAsciiTables(): Config;
    setGlobalStringCache(): Config;
    setTblCols(n: number): Config;
    setTblRows(n: number): Config;
    setTblWidthChars(width: number): Config;
    setUtf8Tables(): Config;
    unsetGlobalStringCache(): Config;
}

Methods

  • Set the number of columns used to print tables

    +

    Parameters

    • n: number

    Returns Config

  • Set the number of rows used to print tables

    +

    Parameters

    • n: number

    Returns Config

  • Set the number of character used to draw the table

    +

    Parameters

    • width: number

    Returns Config

diff --git a/interfaces/pl.DataFrame-1.html b/interfaces/pl.DataFrame-1.html new file mode 100644 index 00000000..d294eff9 --- /dev/null +++ b/interfaces/pl.DataFrame-1.html @@ -0,0 +1,626 @@ +DataFrame | nodejs-polars

Interface DataFrame

A DataFrame is a two-dimensional data structure that represents data as a table +with rows and columns.

+

Object, Array, or Series +Two-dimensional data in various forms. object must contain Arrays. +Array may contain Series or other Arrays.

+

Array of str, default undefined +Column labels to use for resulting DataFrame. If specified, overrides any +labels already present in the data. Must match data dimensions.

+

'col' | 'row' default undefined +Whether to interpret two-dimensional data as columns or as rows. If None, +the orientation is inferred by matching the columns and data dimensions. If +this does not yield conclusive results, column orientation is used.

+

Constructing a DataFrame from an object :

+
> const data = {'a': [1n, 2n], 'b': [3, 4]};
> const df = pl.DataFrame(data);
> console.log(df.toString());
shape: (2, 2)
╭─────┬─────╮
ab
│ --- ┆ --- │
u64i64
╞═════╪═════╡
13
├╌╌╌╌╌┼╌╌╌╌╌┤
24
╰─────┴─────╯ +
+ +

Notice that the dtype is automatically inferred as a polars Int64:

+
> df.dtypes
['UInt64', `Int64'] +
+ +

In order to specify dtypes for your columns, initialize the DataFrame with a list +of Series instead:

+
> const data = [pl.Series('col1', [1, 2], pl.Float32), pl.Series('col2', [3, 4], pl.Int64)];
> const df2 = pl.DataFrame(series);
> console.log(df2.toString());
shape: (2, 2)
╭──────┬──────╮
col1col2
│ --- ┆ --- │
f32i64
╞══════╪══════╡
13
├╌╌╌╌╌╌┼╌╌╌╌╌╌┤
24
╰──────┴──────╯ +
+ +

Constructing a DataFrame from a list of lists, row orientation inferred:

+
> const data = [[1, 2, 3], [4, 5, 6]];
> const df4 = pl.DataFrame(data, ['a', 'b', 'c']);
> console.log(df4.toString());
shape: (2, 3)
╭─────┬─────┬─────╮
abc
│ --- ┆ --- ┆ --- │
i64i64i64
╞═════╪═════╪═════╡
123
├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
456
╰─────┴─────┴─────╯ +
+ +
interface DataFrame {
    [inspect](): string;
    [iterator](): Generator<any, void, any>;
    add(other: any): pl.DataFrame;
    clone(): pl.DataFrame;
    columns: string[];
    describe(): pl.DataFrame;
    distinct(maintainOrder?: any, subset?: any, keep?: any): pl.DataFrame;
    div(other: any): pl.DataFrame;
    divideBy(other: any): pl.DataFrame;
    drop(name: string): pl.DataFrame;
    drop(names: string[]): pl.DataFrame;
    drop(name: string, ...names: string[]): pl.DataFrame;
    dropNulls(column: string): pl.DataFrame;
    dropNulls(columns: string[]): pl.DataFrame;
    dropNulls(...columns: string[]): pl.DataFrame;
    dtypes: DataType[];
    explode(column: ExprOrString): pl.DataFrame;
    explode(columns: ExprOrString[]): pl.DataFrame;
    explode(column: ExprOrString, ...columns: ExprOrString[]): pl.DataFrame;
    extend(other: pl.DataFrame): pl.DataFrame;
    fillNull(strategy: FillNullStrategy): pl.DataFrame;
    filter(predicate: any): pl.DataFrame;
    findIdxByName(name: string): number;
    fold(operation: ((s1: pl.Series<any>, s2: pl.Series<any>) => pl.Series<any>)): pl.Series<any>;
    frameEqual(other: pl.DataFrame): boolean;
    frameEqual(other: pl.DataFrame, nullEqual: boolean): boolean;
    getColumn(name: string): pl.Series<any>;
    getColumns(): pl.Series<any>[];
    groupBy(...by: ColumnSelection[]): GroupBy;
    groupByDynamic(options: {
        by?: ColumnsOrExpr;
        check_sorted?: boolean;
        closed?:
            | "none"
            | "left"
            | "right"
            | "both";
        every: string;
        includeBoundaries?: boolean;
        indexColumn: string;
        offset?: string;
        period?: string;
        start_by: StartBy;
    }): RollingGroupBy;
    groupByRolling(opts: {
        by?: ColumnsOrExpr;
        check_sorted?: boolean;
        closed?:
            | "none"
            | "left"
            | "right"
            | "both";
        indexColumn: ColumnsOrExpr;
        offset?: string;
        period: string;
    }): RollingGroupBy;
    hashRows(k0?: number, k1?: number, k2?: number, k3?: number): pl.Series<any>;
    hashRows(options: {
        k0?: number;
        k1?: number;
        k2?: number;
        k3?: number;
    }): pl.Series<any>;
    head(length?: number): pl.DataFrame;
    height: number;
    hstack(columns: pl.DataFrame | pl.Series<any>[]): pl.DataFrame;
    hstack(columns: pl.DataFrame | pl.Series<any>[], inPlace?: boolean): void;
    insertAtIdx(index: number, series: pl.Series<any>): void;
    interpolate(): pl.DataFrame;
    isDuplicated(): pl.Series<any>;
    isEmpty(): boolean;
    isUnique(): pl.Series<any>;
    join(other: pl.DataFrame, options: {
        on: ValueOrArray<string>;
    } & Omit<JoinOptions, "leftOn" | "rightOn">): pl.DataFrame;
    join(other: pl.DataFrame, options: {
        leftOn: ValueOrArray<string>;
        rightOn: ValueOrArray<string>;
    } & Omit<JoinOptions, "on">): pl.DataFrame;
    join(other: pl.DataFrame, options: {
        how: "cross";
        suffix?: string;
    }): pl.DataFrame;
    joinAsof(other: pl.DataFrame, options: {
        allowParallel?: boolean;
        by?: string | string[];
        byLeft?: string | string[];
        byRight?: string | string[];
        forceParallel?: boolean;
        leftOn?: string;
        on?: string;
        rightOn?: string;
        strategy?: "backward" | "forward";
        suffix?: string;
        tolerance?: string | number;
    }): pl.DataFrame;
    lazy(): LazyDataFrame;
    limit(length?: number): pl.DataFrame;
    map(func: ((...args: any[]) => any)): any[];
    max(): pl.DataFrame;
    max(axis: 0): pl.DataFrame;
    max(axis: 1): pl.Series<any>;
    mean(): pl.DataFrame;
    mean(axis: 0): pl.DataFrame;
    mean(axis: 1): pl.Series<any>;
    mean(axis: 1, nullStrategy?: "ignore" | "propagate"): pl.Series<any>;
    median(): pl.DataFrame;
    melt(idVars: ColumnSelection, valueVars: ColumnSelection): pl.DataFrame;
    min(): pl.DataFrame;
    min(axis: 0): pl.DataFrame;
    min(axis: 1): pl.Series<any>;
    minus(other: any): pl.DataFrame;
    modulo(other: any): pl.DataFrame;
    mul(other: any): pl.DataFrame;
    multiplyBy(other: any): pl.DataFrame;
    nChunks(): number;
    nullCount(): pl.DataFrame;
    partitionBy(cols: string | string[], stable?: boolean, includeKey?: boolean): pl.DataFrame[];
    partitionBy<T>(cols: string | string[], stable: boolean, includeKey: boolean, mapFn: ((df: pl.DataFrame) => T)): T[];
    pivot(values: string | string[], options: {
        aggregateFunc?:
            | pl.Expr
            | "mean"
            | "min"
            | "max"
            | "first"
            | "last"
            | "count"
            | "median"
            | "sum";
        index: string | string[];
        maintainOrder?: boolean;
        on: string | string[];
        separator?: string;
        sortColumns?: boolean;
    }): pl.DataFrame;
    pivot(options: {
        aggregateFunc?:
            | pl.Expr
            | "mean"
            | "min"
            | "max"
            | "first"
            | "last"
            | "count"
            | "median"
            | "sum";
        index: string | string[];
        maintainOrder?: boolean;
        on: string | string[];
        separator?: string;
        sortColumns?: boolean;
        values: string | string[];
    }): pl.DataFrame;
    plus(other: any): pl.DataFrame;
    quantile(quantile: number): pl.DataFrame;
    rechunk(): pl.DataFrame;
    rem(other: any): pl.DataFrame;
    rename(mapping: Record<string, string>): pl.DataFrame;
    replaceAtIdx(index: number, newColumn: pl.Series<any>): void;
    row(index: number): any[];
    rows(): any[][];
    sample(opts?: {
        n: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.DataFrame;
    sample(opts?: {
        frac: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.DataFrame;
    sample(n?: number, frac?: number, withReplacement?: boolean, seed?: number | bigint): pl.DataFrame;
    get schema(): Record<string, DataType>;
    select(...columns: ExprOrString[]): pl.DataFrame;
    serialize(format: "json" | "bincode"): Buffer;
    shape: {
        height: number;
        width: number;
    };
    shift(periods: number): pl.DataFrame;
    shift(__namedParameters: {
        periods: number;
    }): pl.DataFrame;
    shiftAndFill(n: number, fillValue: number): pl.DataFrame;
    shiftAndFill(__namedParameters: {
        fillValue: number;
        n: number;
    }): pl.DataFrame;
    shrinkToFit(): pl.DataFrame;
    shrinkToFit(inPlace: true): void;
    shrinkToFit(__namedParameters: {
        inPlace: true;
    }): void;
    slice(opts: {
        length: number;
        offset: number;
    }): pl.DataFrame;
    slice(offset: number, length: number): pl.DataFrame;
    sort(by: ColumnsOrExpr, descending?: boolean, nulls_last?: boolean, maintain_order?: boolean): pl.DataFrame;
    sort(__namedParameters: {
        by: ColumnsOrExpr;
        descending?: boolean;
        maintain_order?: boolean;
        nulls_last?: boolean;
    }): pl.DataFrame;
    std(): pl.DataFrame;
    sub(other: any): pl.DataFrame;
    sum(): pl.DataFrame;
    sum(axis: 0): pl.DataFrame;
    sum(axis: 1): pl.Series<any>;
    sum(axis: 1, nullStrategy?: "ignore" | "propagate"): pl.Series<any>;
    tail(length?: number): pl.DataFrame;
    toCSV(destOrOptions?: any, options?: any): any;
    toDataResource(): TabularDataResource;
    toHTML(): string;
    toIPC(destination?: any, options?: any): any;
    toJSON(): string;
    toObject(): Record<string, any[]>;
    toParquet(destination?: any, options?: any): any;
    toRecords(): Record<string, any>[];
    toSeries(index?: number): pl.Series<any>;
    toString(): string;
    toStruct(name: string): pl.Series<any>;
    transpose(options?: {
        columnNames?: Iterable<string>;
        headerName?: string;
        includeHeader?: boolean;
    }): pl.DataFrame;
    unique(maintainOrder?: boolean, subset?: ColumnSelection, keep?: "first" | "last"): pl.DataFrame;
    unique(opts: {
        keep?: "first" | "last";
        maintainOrder?: boolean;
        subset?: ColumnSelection;
    }): pl.DataFrame;
    unnest(names: string | string[]): pl.DataFrame;
    unpivot(idVars: ColumnSelection, valueVars: ColumnSelection): pl.DataFrame;
    upsample(timeColumn: string, every: string, by?: string | string[], maintainOrder?: boolean): pl.DataFrame;
    upsample(opts: {
        by?: string | string[];
        every: string;
        maintainOrder?: boolean;
        timeColumn: string;
    }): pl.DataFrame;
    var(): pl.DataFrame;
    vstack(df: pl.DataFrame): pl.DataFrame;
    where(predicate: any): pl.DataFrame;
    width: number;
    withColumn(column: pl.Expr | pl.Series<any>): pl.DataFrame;
    withColumn(column: pl.Expr | pl.Series<any>): pl.DataFrame;
    withColumnRenamed(existing: string, replacement: string): pl.DataFrame;
    withColumnRenamed(opts: {
        existing: string;
        replacement: string;
    }): pl.DataFrame;
    withColumns(...columns: (pl.Expr | pl.Series<any>)[]): pl.DataFrame;
    withRowCount(name?: string): pl.DataFrame;
    writeAvro(options?: WriteAvroOptions): Buffer;
    writeAvro(destination: string | Writable, options?: WriteAvroOptions): void;
    writeCSV(): Buffer;
    writeCSV(options: WriteCsvOptions): Buffer;
    writeCSV(dest: string | Writable, options?: WriteCsvOptions): void;
    writeIPC(options?: WriteIPCOptions): Buffer;
    writeIPC(destination: string | Writable, options?: WriteIPCOptions): void;
    writeIPCStream(options?: WriteIPCOptions): Buffer;
    writeIPCStream(destination: string | Writable, options?: WriteIPCOptions): void;
    writeJSON(options?: {
        format: "json" | "lines";
    }): Buffer;
    writeJSON(destination: string | Writable, options?: {
        format: "json" | "lines";
    }): void;
    writeParquet(options?: WriteParquetOptions): Buffer;
    writeParquet(destination: string | Writable, options?: WriteParquetOptions): void;
}

Hierarchy

Properties

dtypes: DataType[]
height: number
shape: {
    height: number;
    width: number;
}
width: number

Accessors

Methods - Arithmetic

Methods - Deprecated

  • Parameters

    • OptionaldestOrOptions: any
    • Optionaloptions: any

    Returns any

    since 0.4.0 use writeCSV

    +

Methods - IO

  • compat with JSON.stringify

    +

    Returns string

  • Converts dataframe object into column oriented javascript objects

    +

    Returns Record<string, any[]>

    > df.toObject()
    {
    "foo": [1,2,3],
    "bar": ["a", "b", "c"]
    } +
    + +
  • Converts dataframe object into row oriented javascript objects

    +

    Returns Record<string, any>[]

    > df.toRecords()
    [
    {"foo":1.0,"bar":"a"},
    {"foo":2.0,"bar":"b"},
    {"foo":3.0,"bar":"c"}
    ] +
    + +
  • Write the DataFrame disk in avro format.

    +

    Parameters

    Returns Buffer

  • Parameters

    Returns void

  • Write DataFrame to comma-separated values file (csv).

    +

    If no options are specified, it will return a new string containing the contents

    +
    +

    Returns Buffer

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.writeCSV();
    foo,bar,ham
    1,6,a
    2,7,b
    3,8,c

    // using a file path
    > df.head(1).writeCSV("./foo.csv")
    // foo.csv
    foo,bar,ham
    1,6,a

    // using a write stream
    > const writeStream = new Stream.Writable({
    ... write(chunk, encoding, callback) {
    ... console.log("writeStream: %O', chunk.toString());
    ... callback(null);
    ... }
    ... });
    > df.head(1).writeCSV(writeStream, {includeHeader: false});
    writeStream: '1,6,a' +
    + +
  • Parameters

    Returns Buffer

  • Parameters

    Returns void

  • Write to Arrow IPC feather file, either to a file path or to a write stream.

    +

    Parameters

    Returns Buffer

  • Parameters

    Returns void

  • Write to Arrow IPC stream file, either to a file path or to a write stream.

    +

    Parameters

    Returns Buffer

  • Parameters

    Returns void

  • Write Dataframe to JSON string, file, or write stream

    +

    Parameters

    • Optionaloptions: {
          format: "json" | "lines";
      }
      • format: "json" | "lines"

        json | lines

        +

    Returns Buffer

    > const df = pl.DataFrame({
    ... foo: [1,2,3],
    ... bar: ['a','b','c']
    ... })

    > df.writeJSON({format:"json"})
    `[ {"foo":1.0,"bar":"a"}, {"foo":2.0,"bar":"b"}, {"foo":3.0,"bar":"c"}]`

    > df.writeJSON({format:"lines"})
    `{"foo":1.0,"bar":"a"}
    {"foo":2.0,"bar":"b"}
    {"foo":3.0,"bar":"c"}`

    // writing to a file
    > df.writeJSON("/path/to/file.json", {format:'lines'}) +
    + +
  • Parameters

    • destination: string | Writable
    • Optionaloptions: {
          format: "json" | "lines";
      }
      • format: "json" | "lines"

    Returns void

  • Write the DataFrame disk in parquet format.

    +

    Parameters

    Returns Buffer

  • Parameters

    Returns void

Methods - IO Deprecated

  • Parameters

    • Optionaldestination: any
    • Optionaloptions: any

    Returns any

    since 0.4.0 use writeIPC

    +
  • Parameters

    • Optionaldestination: any
    • Optionaloptions: any

    Returns any

    since 0.4.0 use writeParquet

    +

Methods - Math

  • Sample from this DataFrame by setting either n or frac.

    +

    Parameters

    • Optionalopts: {
          n: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • n: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.DataFrame

    > df = pl.DataFrame({
    > "foo": [1, 2, 3],
    > "bar": [6, 7, 8],
    > "ham": ['a', 'b', 'c']
    > })
    > df.sample({n: 2})
    shape: (2, 3)
    ╭─────┬─────┬─────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ╰─────┴─────┴─────╯ +
    + +
  • Parameters

    • Optionalopts: {
          frac: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • frac: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.DataFrame

  • Parameters

    • Optionaln: number
    • Optionalfrac: number
    • OptionalwithReplacement: boolean
    • Optionalseed: number | bigint

    Returns pl.DataFrame

Methods - Other

  • Returns Generator<any, void, any>

  • Summary statistics for a DataFrame.

    +

    Only summarizes numeric datatypes at the moment and returns nulls for non numeric datatypes.

    +
    +

    Example

    +
    >  const df = pl.DataFrame({
    ... 'a': [1.0, 2.8, 3.0],
    ... 'b': [4, 5, 6],
    ... "c": [True, False, True]
    ... });
    ... df.describe()
    shape: (5, 4)
    ╭──────────┬───────┬─────┬──────╮
    describeabc
    │ --- ┆ --- ┆ --- ┆ --- │
    strf64f64f64
    ╞══════════╪═══════╪═════╪══════╡
    "mean"2.2675null
    ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┤
    "std"1.1021null
    ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┤
    "min"140.0
    ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┤
    "max"361
    ├╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┤
    "median"2.85null
    ╰──────────┴───────┴─────┴──────╯ +
    + +

    Returns pl.DataFrame

  • Remove column from DataFrame and return as new.

    +
    +

    Parameters

    • name: string

    Returns pl.DataFrame

    >  const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6.0, 7.0, 8.0],
    ... "ham": ['a', 'b', 'c'],
    ... "apple": ['a', 'b', 'c']
    ... });
    > console.log(df.drop(['ham', 'apple']).toString());
    shape: (3, 2)
    ╭─────┬─────╮
    foobar
    │ --- ┆ --- │
    i64f64
    ╞═════╪═════╡
    16
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    27
    ├╌╌╌╌╌┼╌╌╌╌╌┤
    38
    ╰─────┴─────╯ +
    + +
  • Parameters

    • names: string[]

    Returns pl.DataFrame

  • Parameters

    • name: string
    • Rest...names: string[]

    Returns pl.DataFrame

  • Return a new DataFrame where the null values are dropped.

    +

    This method only drops nulls row-wise if any single value of the row is null.

    +
    +

    Parameters

    • column: string

    Returns pl.DataFrame

    >  const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, null, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > console.log(df.dropNulls().toString());
    shape: (2, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    └─────┴─────┴─────┘ +
    + +
  • Parameters

    • columns: string[]

    Returns pl.DataFrame

  • Parameters

    • Rest...columns: string[]

    Returns pl.DataFrame

  • Explode DataFrame to long format by exploding a column with Lists.

    +
    +

    Parameters

    • column: ExprOrString

    Returns pl.DataFrame

    >  const df = pl.DataFrame({
    ... "letters": ["c", "c", "a", "c", "a", "b"],
    ... "nrs": [[1, 2], [1, 3], [4, 3], [5, 5, 5], [6], [2, 1, 2]]
    ... });
    > console.log(df.toString());
    shape: (6, 2)
    ╭─────────┬────────────╮
    lettersnrs
    │ --- ┆ --- │
    strlist [i64] │
    ╞═════════╪════════════╡
    "c" ┆ [1, 2] │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    "c" ┆ [1, 3] │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    "a" ┆ [4, 3] │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    "c" ┆ [5, 5, 5] │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    "a" ┆ [6] │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    "b" ┆ [2, 1, 2] │
    ╰─────────┴────────────╯
    > df.explode("nrs")
    shape: (13, 2)
    ╭─────────┬─────╮
    lettersnrs
    │ --- ┆ --- │
    stri64
    ╞═════════╪═════╡
    "c"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"2
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"3
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    │ ... ┆ ... │
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"5
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"6
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"2
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"2
    ╰─────────┴─────╯ +
    + +
  • Parameters

    • columns: ExprOrString[]

    Returns pl.DataFrame

  • Parameters

    • column: ExprOrString
    • Rest...columns: ExprOrString[]

    Returns pl.DataFrame

  • Extend the memory backed by this DataFrame with the values from other.

    +
    +

    Different from vstack which adds the chunks from other to the chunks of this DataFrame +extent appends the data from other to the underlying memory locations and thus may cause a reallocation.

    +

    If this does not cause a reallocation, the resulting data structure will not have any extra chunks +and thus will yield faster queries.

    +

    Prefer extend over vstack when you want to do a query after a single append. For instance during +online operations where you add n rows and rerun a query.

    +

    Prefer vstack over extend when you want to append many times before doing a query. For instance +when you read in multiple files and when to store them in a single DataFrame. +In the latter case, finish the sequence of vstack operations with a rechunk.

    +

    Parameters

    Returns pl.DataFrame

  • Fill null/missing values by a filling strategy

    +

    Parameters

    • strategy: FillNullStrategy

      One of:

      +
        +
      • "backward"
      • +
      • "forward"
      • +
      • "mean"
      • +
      • "min'
      • +
      • "max"
      • +
      • "zero"
      • +
      • "one"
      • +
      +

    Returns pl.DataFrame

    DataFrame with None replaced with the filling strategy.

    +
  • Filter the rows in the DataFrame based on a predicate expression.

    +
    +

    Parameters

    • predicate: any

      Expression that evaluates to a boolean Series.

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    // Filter on one condition
    > df.filter(pl.col("foo").lt(3))
    shape: (2, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16a
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27b
    └─────┴─────┴─────┘
    // Filter on multiple conditions
    > df.filter(
    ... pl.col("foo").lt(3)
    ... .and(pl.col("ham").eq(pl.lit("a")))
    ... )
    shape: (1, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16a
    └─────┴─────┴─────┘ +
    + +
  • Find the index of a column by name.

    +
    +

    Parameters

    • name: string

      Name of the column to find.

      +

    Returns number

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.findIdxByName("ham"))
    2 +
    + +
  • Apply a horizontal reduction on a DataFrame.

    +

    This can be used to effectively determine aggregations on a row level, +and can be applied to any DataType that can be supercasted (casted to a similar parent type).

    +

    An example of the supercast rules when applying an arithmetic operation on two DataTypes are for instance:

    +
      +
    • Int8 + Utf8 = Utf8
    • +
    • Float32 + Int64 = Float32
    • +
    • Float32 + Float64 = Float64
    • +
    +
    +

    Parameters

    Returns pl.Series<any>

    Series

    +
    > // A horizontal sum operation
    > let df = pl.DataFrame({
    ... "a": [2, 1, 3],
    ... "b": [1, 2, 3],
    ... "c": [1.0, 2.0, 3.0]
    ... });
    > df.fold((s1, s2) => s1.plus(s2))
    Series: 'a' [f64]
    [
    4
    5
    9
    ]
    > // A horizontal minimum operation
    > df = pl.DataFrame({
    ... "a": [2, 1, 3],
    ... "b": [1, 2, 3],
    ... "c": [1.0, 2.0, 3.0]
    ... });
    > df.fold((s1, s2) => s1.zipWith(s1.lt(s2), s2))
    Series: 'a' [f64]
    [
    1
    1
    3
    ]
    > // A horizontal string concatenation
    > df = pl.DataFrame({
    ... "a": ["foo", "bar", 2],
    ... "b": [1, 2, 3],
    ... "c": [1.0, 2.0, 3.0]
    ... })
    > df.fold((s1, s2) => s.plus(s2))
    Series: '' [f64]
    [
    "foo11"
    "bar22
    "233"
    ] +
    + +
  • Check if DataFrame is equal to other.

    +
    +

    Parameters

    Returns boolean

    > const df1 = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6.0, 7.0, 8.0],
    ... "ham": ['a', 'b', 'c']
    ... })
    > const df2 = pl.DataFrame({
    ... "foo": [3, 2, 1],
    ... "bar": [8.0, 7.0, 6.0],
    ... "ham": ['c', 'b', 'a']
    ... })
    > df1.frameEqual(df1)
    true
    > df1.frameEqual(df2)
    false +
    + +
  • Parameters

    Returns boolean

  • Start a groupby operation.

    +
    +

    Parameters

    • Rest...by: ColumnSelection[]

      Column(s) to group by.

      +

    Returns GroupBy

  • Groups based on a time value (or index value of type Int32, Int64). Time windows are calculated and rows are assigned to windows. +Different from a normal groupby is that a row can be member of multiple groups. The time/index window could +be seen as a rolling window, with a window size determined by dates/times/values instead of slots in the DataFrame.

    +

    A window is defined by:

    +
      +
    • every: interval of the window
    • +
    • period: length of the window
    • +
    • offset: offset of the window
    • +
    +

    The every, period and offset arguments are created with +the following string language:

    +
      +
    • 1ns (1 nanosecond)
    • +
    • 1us (1 microsecond)
    • +
    • 1ms (1 millisecond)
    • +
    • 1s (1 second)
    • +
    • 1m (1 minute)
    • +
    • 1h (1 hour)
    • +
    • 1d (1 day)
    • +
    • 1w (1 week)
    • +
    • 1mo (1 calendar month)
    • +
    • 1y (1 calendar year)
    • +
    • 1i (1 index count)
    • +
    +

    Or combine them: +"3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds

    +

    In case of a groupbyDynamic on an integer column, the windows are defined by:

    +
      +
    • "1i" # length 1
    • +
    • "10i" # length 10
    • +
    +

    Parameters

    • options: {
          by?: ColumnsOrExpr;
          check_sorted?: boolean;
          closed?:
              | "none"
              | "left"
              | "right"
              | "both";
          every: string;
          includeBoundaries?: boolean;
          indexColumn: string;
          offset?: string;
          period?: string;
          start_by: StartBy;
      }
      • Optionalby?: ColumnsOrExpr
      • Optionalcheck_sorted?: boolean
      • Optionalclosed?:
            | "none"
            | "left"
            | "right"
            | "both"
      • every: string
      • OptionalincludeBoundaries?: boolean
      • indexColumn: string
      • Optionaloffset?: string
      • Optionalperiod?: string
      • start_by: StartBy

    Returns RollingGroupBy

  • Create rolling groups based on a time column (or index value of type Int32, Int64).

    +

    Different from a rolling groupby the windows are now determined by the individual values and are not of constant +intervals. For constant intervals use groupByDynamic

    +

    The period and offset arguments are created with +the following string language:

    +
      +
    • 1ns (1 nanosecond)
    • +
    • 1us (1 microsecond)
    • +
    • 1ms (1 millisecond)
    • +
    • 1s (1 second)
    • +
    • 1m (1 minute)
    • +
    • 1h (1 hour)
    • +
    • 1d (1 day)
    • +
    • 1w (1 week)
    • +
    • 1mo (1 calendar month)
    • +
    • 1y (1 calendar year)
    • +
    • 1i (1 index count)
    • +
    +

    Or combine them: +"3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds

    +

    In case of a groupby_rolling on an integer column, the windows are defined by:

    +
      +
    • "1i" # length 1
    • +
    • "10i" # length 10
    • +
    +

    Parameters

    • opts: {
          by?: ColumnsOrExpr;
          check_sorted?: boolean;
          closed?:
              | "none"
              | "left"
              | "right"
              | "both";
          indexColumn: ColumnsOrExpr;
          offset?: string;
          period: string;
      }
      • Optionalby?: ColumnsOrExpr
      • Optionalcheck_sorted?: boolean
      • Optionalclosed?:
            | "none"
            | "left"
            | "right"
            | "both"
      • indexColumn: ColumnsOrExpr
      • Optionaloffset?: string
      • period: string

    Returns RollingGroupBy


    >dates = [
    ... "2020-01-01 13:45:48",
    ... "2020-01-01 16:42:13",
    ... "2020-01-01 16:45:09",
    ... "2020-01-02 18:12:48",
    ... "2020-01-03 19:45:32",
    ... "2020-01-08 23:16:43",
    ... ]
    >df = pl.DataFrame({"dt": dates, "a": [3, 7, 5, 9, 2, 1]}).withColumn(
    ... pl.col("dt").str.strptime(pl.Datetime)
    ... )
    >out = df.groupbyRolling({indexColumn:"dt", period:"2d"}).agg(
    ... [
    ... pl.sum("a").alias("sum_a"),
    ... pl.min("a").alias("min_a"),
    ... pl.max("a").alias("max_a"),
    ... ]
    ... )
    >assert(out["sum_a"].toArray() === [3, 10, 15, 24, 11, 1])
    >assert(out["max_a"].toArray() === [3, 7, 7, 9, 9, 1])
    >assert(out["min_a"].toArray() === [3, 3, 3, 3, 2, 1])
    >out
    shape: (6, 4)
    ┌─────────────────────┬───────┬───────┬───────┐
    dta_suma_maxa_min
    │ --- ┆ --- ┆ --- ┆ --- │
    datetime[ms] ┆ i64i64i64
    ╞═════════════════════╪═══════╪═══════╪═══════╡
    2020-01-01 13:45:48333
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-01 16:42:131073
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-01 16:45:091573
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-02 18:12:482493
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-03 19:45:321192
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-08 23:16:43111
    └─────────────────────┴───────┴───────┴───────┘ +
    + +
  • Hash and combine the rows in this DataFrame. (Hash value is UInt64)

    +

    Parameters

    • Optionalk0: number

      seed parameter

      +
    • Optionalk1: number

      seed parameter

      +
    • Optionalk2: number

      seed parameter

      +
    • Optionalk3: number

      seed parameter

      +

    Returns pl.Series<any>

  • Parameters

    • options: {
          k0?: number;
          k1?: number;
          k2?: number;
          k3?: number;
      }
      • Optionalk0?: number
      • Optionalk1?: number
      • Optionalk2?: number
      • Optionalk3?: number

    Returns pl.Series<any>

  • Get first N rows as DataFrame.

    +
    +

    Parameters

    • Optionallength: number

      Length of the head.

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3, 4, 5],
    ... "bar": [6, 7, 8, 9, 10],
    ... "ham": ['a', 'b', 'c', 'd','e']
    ... });
    > df.head(3)
    shape: (3, 3)
    ╭─────┬─────┬─────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27"b"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ╰─────┴─────┴─────╯ +
    + +
  • Return a new DataFrame grown horizontally by stacking multiple Series to it.

    +

    Parameters

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > const x = pl.Series("apple", [10, 20, 30])
    > df.hStack([x])
    shape: (3, 4)
    ╭─────┬─────┬─────┬───────╮
    foobarhamapple
    │ --- ┆ --- ┆ --- ┆ --- │
    i64i64stri64
    ╞═════╪═════╪═════╪═══════╡
    16"a"10
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    27"b"20
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    38"c"30
    ╰─────┴─────┴─────┴───────╯ +
    + +
  • Parameters

    Returns void

  • Insert a Series at a certain column index. This operation is in place.

    +

    Parameters

    • index: number

      Column position to insert the new Series column.

      +
    • series: pl.Series<any>

      Series to insert

      +

    Returns void

  • Check if the dataframe is empty

    +

    Returns boolean

  • SQL like joins.

    +

    Parameters

    Returns pl.DataFrame

    JoinOptions

    +
    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6.0, 7.0, 8.0],
    ... "ham": ['a', 'b', 'c']
    ... });
    > const otherDF = pl.DataFrame({
    ... "apple": ['x', 'y', 'z'],
    ... "ham": ['a', 'b', 'd']
    ... });
    > df.join(otherDF, {on: 'ham'})
    shape: (2, 4)
    ╭─────┬─────┬─────┬───────╮
    foobarhamapple
    │ --- ┆ --- ┆ --- ┆ --- │
    i64f64strstr
    ╞═════╪═════╪═════╪═══════╡
    16"a""x"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    27"b""y"
    ╰─────┴─────┴─────┴───────╯ +
    + +
  • Parameters

    • other: pl.DataFrame
    • options: {
          leftOn: ValueOrArray<string>;
          rightOn: ValueOrArray<string>;
      } & Omit<JoinOptions, "on">

    Returns pl.DataFrame

  • Parameters

    • other: pl.DataFrame
    • options: {
          how: "cross";
          suffix?: string;
      }
      • how: "cross"
      • Optionalsuffix?: string

    Returns pl.DataFrame

  • Perform an asof join. This is similar to a left-join except that we +match on nearest key rather than equal keys.

    +

    Both DataFrames must be sorted by the asofJoin key.

    +

    For each row in the left DataFrame:

    +
      +
    • +

      A "backward" search selects the last row in the right DataFrame whose +'on' key is less than or equal to the left's key.

      +
    • +
    • +

      A "forward" search selects the first row in the right DataFrame whose +'on' key is greater than or equal to the left's key.

      +
    • +
    +

    The default is "backward".

    +

    Parameters

    • other: pl.DataFrame

      DataFrame to join with.

      +
    • options: {
          allowParallel?: boolean;
          by?: string | string[];
          byLeft?: string | string[];
          byRight?: string | string[];
          forceParallel?: boolean;
          leftOn?: string;
          on?: string;
          rightOn?: string;
          strategy?: "backward" | "forward";
          suffix?: string;
          tolerance?: string | number;
      }
      • OptionalallowParallel?: boolean

        Allow the physical plan to optionally evaluate the computation of both DataFrames up to the join in parallel.

        +
      • Optionalby?: string | string[]
      • OptionalbyLeft?: string | string[]

        join on these columns before doing asof join

        +
      • OptionalbyRight?: string | string[]

        join on these columns before doing asof join

        +
      • OptionalforceParallel?: boolean

        Force the physical plan to evaluate the computation of both DataFrames up to the join in parallel.

        +
      • OptionalleftOn?: string

        Join column of the left DataFrame.

        +
      • Optionalon?: string

        Join column of both DataFrames. If set, leftOn and rightOn should be undefined.

        +
      • OptionalrightOn?: string

        Join column of the right DataFrame.

        +
      • Optionalstrategy?: "backward" | "forward"

        One of 'forward', 'backward'

        +
      • Optionalsuffix?: string

        Suffix to append to columns with a duplicate name.

        +
      • Optionaltolerance?: string | number

        Numeric tolerance. By setting this the join will only be done if the near keys are within this distance. +If an asof join is done on columns of dtype "Date", "Datetime" you +use the following string language:

        +
          +
        • 1ns (1 nanosecond)
        • +
        • 1us (1 microsecond)
        • +
        • 1ms (1 millisecond)
        • +
        • 1s (1 second)
        • +
        • 1m (1 minute)
        • +
        • 1h (1 hour)
        • +
        • 1d (1 day)
        • +
        • 1w (1 week)
        • +
        • 1mo (1 calendar month)
        • +
        • 1y (1 calendar year)
        • +
        • 1i (1 index count)
        • +
        +

        Or combine them:

        +
          +
        • "3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds
        • +
        +

    Returns pl.DataFrame

    > const gdp = pl.DataFrame({
    ... date: [
    ... new Date('2016-01-01'),
    ... new Date('2017-01-01'),
    ... new Date('2018-01-01'),
    ... new Date('2019-01-01'),
    ... ], // note record date: Jan 1st (sorted!)
    ... gdp: [4164, 4411, 4566, 4696],
    ... })
    > const population = pl.DataFrame({
    ... date: [
    ... new Date('2016-05-12'),
    ... new Date('2017-05-12'),
    ... new Date('2018-05-12'),
    ... new Date('2019-05-12'),
    ... ], // note record date: May 12th (sorted!)
    ... "population": [82.19, 82.66, 83.12, 83.52],
    ... })
    > population.joinAsof(
    ... gdp,
    ... {leftOn:"date", rightOn:"date", strategy:"backward"}
    ... )
    shape: (4, 3)
    ┌─────────────────────┬────────────┬──────┐
    datepopulationgdp
    │ --- ┆ --- ┆ --- │
    datetimes] ┆ f64i64
    ╞═════════════════════╪════════════╪══════╡
    2016-05-12 00:00:0082.194164
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2017-05-12 00:00:0082.664411
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2018-05-12 00:00:0083.124566
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2019-05-12 00:00:0083.524696
    └─────────────────────┴────────────┴──────┘ +
    + +
  • Parameters

    • func: ((...args: any[]) => any)
        • (...args): any
        • Parameters

          • Rest...args: any[]

          Returns any

    Returns any[]

  • Aggregate the columns of this DataFrame to their maximum value.

    +
    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.max()
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪══════╡
    38null
    ╰─────┴─────┴──────╯ +
    + +
  • Parameters

    • axis: 0

    Returns pl.DataFrame

  • Parameters

    • axis: 1

    Returns pl.Series<any>

  • Aggregate the columns of this DataFrame to their median value.

    +
    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.median();
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    f64f64str
    ╞═════╪═════╪══════╡
    27null
    ╰─────┴─────┴──────╯ +
    + +
  • Unpivot a DataFrame from wide to long format.

    +

    Parameters

    • idVars: ColumnSelection
    • valueVars: ColumnSelection

    Returns pl.DataFrame

    since 0.13.0 use unpivot

    +
  • Aggregate the columns of this DataFrame to their minimum value.

    +
    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.min();
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪══════╡
    16null
    ╰─────┴─────┴──────╯ +
    + +
  • Parameters

    • axis: 0

    Returns pl.DataFrame

  • Parameters

    • axis: 1

    Returns pl.Series<any>

  • Get number of chunks used by the ChunkedArrays of this DataFrame.

    +

    Returns number

  • Create a new DataFrame that shows the null counts per column.

    +
    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, null, 3],
    ... "bar": [6, 7, null],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.nullCount();
    shape: (1, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    u32u32u32
    ╞═════╪═════╪═════╡
    110
    └─────┴─────┴─────┘ +
    + +
  • Parameters

    • cols: string | string[]
    • Optionalstable: boolean
    • OptionalincludeKey: boolean

    Returns pl.DataFrame[]

  • Type Parameters

    • T

    Parameters

    • cols: string | string[]
    • stable: boolean
    • includeKey: boolean
    • mapFn: ((df: pl.DataFrame) => T)

    Returns T[]

  • Create a spreadsheet-style pivot table as a DataFrame.

    +

    Parameters

    • values: string | string[]

      Column values to aggregate. Can be multiple columns if the columns arguments contains multiple columns as well

      +
    • options: {
          aggregateFunc?:
              | pl.Expr
              | "mean"
              | "min"
              | "max"
              | "first"
              | "last"
              | "count"
              | "median"
              | "sum";
          index: string | string[];
          maintainOrder?: boolean;
          on: string | string[];
          separator?: string;
          sortColumns?: boolean;
      }
      • OptionalaggregateFunc?:
            | pl.Expr
            | "mean"
            | "min"
            | "max"
            | "first"
            | "last"
            | "count"
            | "median"
            | "sum"

        Any of: +- "sum" +- "max" +- "min" +- "mean" +- "median" +- "first" +- "last" +- "count" +Defaults to "first"

        +
      • index: string | string[]

        One or multiple keys to group by

        +
      • OptionalmaintainOrder?: boolean

        Sort the grouped keys so that the output order is predictable.

        +
      • on: string | string[]
      • Optionalseparator?: string

        Used as separator/delimiter in generated column names.

        +
      • OptionalsortColumns?: boolean

        Sort the transposed columns by name. Default is by order of discovery.

        +

    Returns pl.DataFrame

      > const df = pl.DataFrame(
    ... {
    ... "foo": ["one", "one", "one", "two", "two", "two"],
    ... "bar": ["A", "B", "C", "A", "B", "C"],
    ... "baz": [1, 2, 3, 4, 5, 6],
    ... }
    ... );
    > df.pivot("baz", {index:"foo", columns:"bar"});
    shape: (2, 4)
    ┌─────┬─────┬─────┬─────┐
    fooABC
    │ --- ┆ --- ┆ --- ┆ --- │
    strf64f64f64
    ╞═════╪═════╪═════╪═════╡
    one123
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    two456
    └─────┴─────┴─────┴─────┘ +
    + +
  • Parameters

    • options: {
          aggregateFunc?:
              | pl.Expr
              | "mean"
              | "min"
              | "max"
              | "first"
              | "last"
              | "count"
              | "median"
              | "sum";
          index: string | string[];
          maintainOrder?: boolean;
          on: string | string[];
          separator?: string;
          sortColumns?: boolean;
          values: string | string[];
      }
      • OptionalaggregateFunc?:
            | pl.Expr
            | "mean"
            | "min"
            | "max"
            | "first"
            | "last"
            | "count"
            | "median"
            | "sum"
      • index: string | string[]
      • OptionalmaintainOrder?: boolean
      • on: string | string[]
      • Optionalseparator?: string
      • OptionalsortColumns?: boolean
      • values: string | string[]

    Returns pl.DataFrame

  • Aggregate the columns of this DataFrame to their quantile value.

    +

    Parameters

    • quantile: number

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.quantile(0.5);
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪══════╡
    27null
    ╰─────┴─────┴──────╯ +
    + +
  • Rechunk the data in this DataFrame to a contiguous allocation.

    +

    This will make sure all subsequent operations have optimal and predictable performance.

    +

    Returns pl.DataFrame

  • Rename column names.

    +
    +

    Parameters

    • mapping: Record<string, string>

      Key value pairs that map from old name to new name.

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.rename({"foo": "apple"});
    ╭───────┬─────┬─────╮
    applebarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═══════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27"b"
    ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ╰───────┴─────┴─────╯ +
    + +
  • Replace a column at an index location.

    +
    +

    Parameters

    • index: number

      Column index

      +
    • newColumn: pl.Series<any>

      New column to insert

      +

    Returns void

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > const x = pl.Series("apple", [10, 20, 30]);
    > df.replaceAtIdx(0, x);
    shape: (3, 3)
    ╭───────┬─────┬─────╮
    applebarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═══════╪═════╪═════╡
    106"a"
    ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    207"b"
    ├╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    308"c"
    ╰───────┴─────┴─────╯ +
    + +
  • Get a row as Array

    +

    Parameters

    • index: number

      row index

      +

    Returns any[]

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.row(2)
    [3, 8, 'c'] +
    + +
  • Convert columnar data to rows as arrays

    +

    Returns any[][]

  • Select columns from this DataFrame.

    +
    +

    Parameters

    • Rest...columns: ExprOrString[]

      Column or columns to select.

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.select('foo');
    shape: (3, 1)
    ┌─────┐
    foo
    │ --- │
    i64
    ╞═════╡
    1
    ├╌╌╌╌╌┤
    2
    ├╌╌╌╌╌┤
    3
    └─────┘ +
    + +
  • Serializes object to desired format via serde

    +

    Parameters

    Returns Buffer

  • Shift the values by a given period and fill the parts that will be empty due to this operation +with Nones.

    +
    +

    Parameters

    • periods: number

      Number of places to shift (may be negative).

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.shift(1);
    shape: (3, 3)
    ┌──────┬──────┬──────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞══════╪══════╪══════╡
    nullnullnull
    ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    16"a"
    ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    27"b"
    └──────┴──────┴──────┘
    > df.shift(-1)
    shape: (3, 3)
    ┌──────┬──────┬──────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞══════╪══════╪══════╡
    27"b"
    ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    38"c"
    ├╌╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    nullnullnull
    └──────┴──────┴──────┘ +
    + +
  • Parameters

    • __namedParameters: {
          periods: number;
      }
      • periods: number

    Returns pl.DataFrame

  • Shift the values by a given period and fill the parts that will be empty due to this operation +with the result of the fill_value expression.

    +
    +

    Parameters

    • n: number
    • fillValue: number

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.shiftAndFill({n:1, fill_value:0});
    shape: (3, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    00"0"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27"b"
    └─────┴─────┴─────┘ +
    + +
  • Parameters

    • __namedParameters: {
          fillValue: number;
          n: number;
      }
      • fillValue: number
      • n: number

    Returns pl.DataFrame

  • Shrink memory usage of this DataFrame to fit the exact capacity needed to hold the data.

    +

    Returns pl.DataFrame

  • Parameters

    • inPlace: true

    Returns void

  • Parameters

    • __namedParameters: {
          inPlace: true;
      }
      • inPlace: true

    Returns void

  • Slice this DataFrame over the rows direction.

    +
    +

    Parameters

    • opts: {
          length: number;
          offset: number;
      }
      • length: number

        Length of the slice

        +
      • offset: number

        Offset index.

        +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6.0, 7.0, 8.0],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.slice(1, 2); // Alternatively `df.slice({offset:1, length:2})`
    shape: (2, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    27"b"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    └─────┴─────┴─────┘ +
    + +
  • Parameters

    • offset: number
    • length: number

    Returns pl.DataFrame

  • Sort the DataFrame by column.

    +
    +

    Parameters

    • by: ColumnsOrExpr

      By which columns to sort. Only accepts string.

      +
    • Optionaldescending: boolean
    • Optionalnulls_last: boolean
    • Optionalmaintain_order: boolean

    Returns pl.DataFrame

  • Parameters

    • __namedParameters: {
          by: ColumnsOrExpr;
          descending?: boolean;
          maintain_order?: boolean;
          nulls_last?: boolean;
      }
      • by: ColumnsOrExpr
      • Optionaldescending?: boolean
      • Optionalmaintain_order?: boolean
      • Optionalnulls_last?: boolean

    Returns pl.DataFrame

  • Aggregate the columns of this DataFrame to their standard deviation value.

    +
    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "foo": [1, 2, 3],
    ... "bar": [6, 7, 8],
    ... "ham": ['a', 'b', 'c']
    ... });
    > df.std();
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    f64f64str
    ╞═════╪═════╪══════╡
    11null
    ╰─────┴─────┴──────╯ +
    + +
  • Parameters

    • Optionallength: number

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "letters": ["c", "c", "a", "c", "a", "b"],
    ... "nrs": [1, 2, 3, 4, 5, 6]
    ... });
    > console.log(df.toString());
    shape: (6, 2)
    ╭─────────┬─────╮
    lettersnrs
    │ --- ┆ --- │
    stri64
    ╞═════════╪═════╡
    "c"1
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"2
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"3
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"4
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"5
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"6
    ╰─────────┴─────╯
    > df.groupby("letters")
    ... .tail(2)
    ... .sort("letters")
    shape: (5, 2)
    ╭─────────┬─────╮
    lettersnrs
    │ --- ┆ --- │
    stri64
    ╞═════════╪═════╡
    "a"3
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "a"5
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "b"6
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"2
    ├╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┤
    "c"4
    ╰─────────┴─────╯ +
    + +
  • Converts dataframe object into a TabularDataResource

    +

    Returns TabularDataResource

  • Converts dataframe object into HTML

    +

    Returns string

  • Returns a string representation of an object.

    +

    Returns string

  • Convert a DataFrame to a Series of type Struct

    +

    Parameters

    • name: string

      Name for the struct Series

      +

    Returns pl.Series<any>

     > const df = pl.DataFrame({
    ... "a": [1, 2, 3, 4, 5],
    ... "b": ["one", "two", "three", "four", "five"],
    ... });
    > df.toStruct("nums");
    shape: (5,)
    Series: 'nums' [struct[2]{'a': i64, 'b': str}]
    [
    {1,"one"}
    {2,"two"}
    {3,"three"}
    {4,"four"}
    {5,"five"}
    ] +
    + +
  • Transpose a DataFrame over the diagonal.

    +

    Parameters

    • Optionaloptions: {
          columnNames?: Iterable<string>;
          headerName?: string;
          includeHeader?: boolean;
      }
      • OptionalcolumnNames?: Iterable<string>

        Optional generator/iterator that yields column names. Will be used to replace the columns in the DataFrame.

        +
      • OptionalheaderName?: string

        If includeHeader is set, this determines the name of the column that will be inserted

        +
      • OptionalincludeHeader?: boolean

        If set, the column names will be added as first column.

        +

    Returns pl.DataFrame

    This is a very expensive operation. Perhaps you can do it differently.

    +
    > const df = pl.DataFrame({"a": [1, 2, 3], "b": [1, 2, 3]});
    > df.transpose({includeHeader:true})
    shape: (2, 4)
    ┌────────┬──────────┬──────────┬──────────┐
    columncolumn_0column_1column_2
    │ --- ┆ --- ┆ --- ┆ --- │
    stri64i64i64
    ╞════════╪══════════╪══════════╪══════════╡
    a123
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
    b123
    └────────┴──────────┴──────────┴──────────┘
    // replace the auto generated column names with a list
    > df.transpose({includeHeader:false, columnNames:["a", "b", "c"]})
    shape: (2, 3)
    ┌─────┬─────┬─────┐
    abc
    │ --- ┆ --- ┆ --- │
    i64i64i64
    ╞═════╪═════╪═════╡
    123
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    123
    └─────┴─────┴─────┘

    // Include the header as a separate column
    > df.transpose({
    ... includeHeader:true,
    ... headerName:"foo",
    ... columnNames:["a", "b", "c"]
    ... })
    shape: (2, 4)
    ┌─────┬─────┬─────┬─────┐
    fooabc
    │ --- ┆ --- ┆ --- ┆ --- │
    stri64i64i64
    ╞═════╪═════╪═════╪═════╡
    a123
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    b123
    └─────┴─────┴─────┴─────┘

    // Replace the auto generated column with column names from a generator function
    > function *namesGenerator() {
    ... const baseName = "my_column_";
    ... let count = 0;
    ... let name = `${baseName}_${count}`;
    ... count++;
    ... yield name;
    ... }
    > df.transpose({includeHeader:false, columnNames:namesGenerator})
    shape: (2, 3)
    ┌─────────────┬─────────────┬─────────────┐
    my_column_0my_column_1my_column_2
    │ --- ┆ --- ┆ --- │
    i64i64i64
    ╞═════════════╪═════════════╪═════════════╡
    123
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    123
    └─────────────┴─────────────┴─────────────┘ +
    + +
  • Drop duplicate rows from this DataFrame. +Note that this fails if there is a column of type List in the DataFrame.

    +

    Parameters

    • OptionalmaintainOrder: boolean
    • Optionalsubset: ColumnSelection

      subset to drop duplicates for

      +
    • Optionalkeep: "first" | "last"

      "first" | "last"

      +

    Returns pl.DataFrame

  • Parameters

    • opts: {
          keep?: "first" | "last";
          maintainOrder?: boolean;
          subset?: ColumnSelection;
      }
      • Optionalkeep?: "first" | "last"
      • OptionalmaintainOrder?: boolean
      • Optionalsubset?: ColumnSelection

    Returns pl.DataFrame

  • Decompose a struct into its fields. The fields will be inserted in to the DataFrame on the +location of the struct type.

    +

    Parameters

    • names: string | string[]

      Names of the struct columns that will be decomposed by its fields

      +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    ... "int": [1, 2],
    ... "str": ["a", "b"],
    ... "bool": [true, null],
    ... "list": [[1, 2], [3]],
    ... })
    ... .toStruct("my_struct")
    ... .toFrame();
    > df
    shape: (2, 1)
    ┌─────────────────────────────┐
    my_struct
    │ --- │
    struct[4]{'int',...,'list'} │
    ╞═════════════════════════════╡
    │ {1,"a",true,[1, 2]} │
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    │ {2,"b",null,[3]} │
    └─────────────────────────────┘
    > df.unnest("my_struct")
    shape: (2, 4)
    ┌─────┬─────┬──────┬────────────┐
    intstrboollist
    │ --- ┆ --- ┆ --- ┆ --- │
    i64strboollist [i64] │
    ╞═════╪═════╪══════╪════════════╡
    1atrue ┆ [1, 2] │
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    2bnull ┆ [3] │
    └─────┴─────┴──────┴────────────┘ +
    + +
  • Unpivot DataFrame to long format.

    +
    +

    Parameters

    • idVars: ColumnSelection

      Columns to use as identifier variables.

      +
    • valueVars: ColumnSelection

      Values to use as value variables.

      +

    Returns pl.DataFrame

    > const df1 = pl.DataFrame({
    ... 'id': [1],
    ... 'asset_key_1': ['123'],
    ... 'asset_key_2': ['456'],
    ... 'asset_key_3': ['abc'],
    ... });
    > df1.unpivot('id', ['asset_key_1', 'asset_key_2', 'asset_key_3']);
    shape: (3, 3)
    ┌─────┬─────────────┬───────┐
    idvariablevalue
    │ --- ┆ --- ┆ --- │
    f64strstr
    ╞═════╪═════════════╪═══════╡
    1asset_key_1123
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    1asset_key_2456
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    1asset_key_3abc
    └─────┴─────────────┴───────┘ +
    + +
  • Upsample a DataFrame at a regular frequency.

    +

    The every and offset arguments are created with the following string language:

    +
      +
    • 1ns (1 nanosecond)
    • +
    • 1us (1 microsecond)
    • +
    • 1ms (1 millisecond)
    • +
    • 1s (1 second)
    • +
    • 1m (1 minute)
    • +
    • 1h (1 hour)
    • +
    • 1d (1 calendar day)
    • +
    • 1w (1 calendar week)
    • +
    • 1mo (1 calendar month)
    • +
    • 1q (1 calendar quarter)
    • +
    • 1y (1 calendar year)
    • +
    • 1i (1 index count)
    • +
    +

    Or combine them:

    +
      +
    • "3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds
    • +
    +

    By "calendar day", we mean the corresponding time on the next day (which may not be 24 hours, due to daylight savings). +Similarly for "calendar week", "calendar month", "calendar quarter", and "calendar year".

    +

    Parameters

    • timeColumn: string

      Time column will be used to determine a date range. +Note that this column has to be sorted for the output to make sense.

      +
    • every: string

      Interval will start 'every' duration.

      +
    • Optionalby: string | string[]

      First group by these columns and then upsample for every group.

      +
    • OptionalmaintainOrder: boolean

      Keep the ordering predictable. This is slower.

      +

      DataFrame +Result will be sorted by timeColumn (but note that if by columns are passed, it will only be sorted within each by group).

      +

      Upsample a DataFrame by a certain interval.

      +
      +
      +
      +

      const df = pl.DataFrame({ +"date": [ +new Date(2024, 1, 1), +new Date(2024, 3, 1), +new Date(2024, 4, 1), +new Date(2024, 5, 1), +], +"groups": ["A", "B", "A", "B"], +"values": [0, 1, 2, 3], +}) +.withColumn(pl.col("date").cast(pl.Date).alias("date")) +.sort("date");

      +
      +
      +
      +
      +
      +
      +

      df.upsample({timeColumn: "date", every: "1mo", by: "groups", maintainOrder: true}) +.select(pl.col("*").forwardFill()); +shape: (7, 3) +┌────────────┬────────┬────────┐ +│ date ┆ groups ┆ values │ +│ --- ┆ --- ┆ --- │ +│ date ┆ str ┆ f64 │ +╞════════════╪════════╪════════╡ +│ 2024-02-01 ┆ A ┆ 0.0 │ +│ 2024-03-01 ┆ A ┆ 0.0 │ +│ 2024-04-01 ┆ A ┆ 0.0 │ +│ 2024-05-01 ┆ A ┆ 2.0 │ +│ 2024-04-01 ┆ B ┆ 1.0 │ +│ 2024-05-01 ┆ B ┆ 1.0 │ +│ 2024-06-01 ┆ B ┆ 3.0 │ +└────────────┴────────┴────────┘

      +
      +
      +
      +

    Returns pl.DataFrame

  • Parameters

    • opts: {
          by?: string | string[];
          every: string;
          maintainOrder?: boolean;
          timeColumn: string;
      }
      • Optionalby?: string | string[]
      • every: string
      • OptionalmaintainOrder?: boolean
      • timeColumn: string

    Returns pl.DataFrame

  • Aggregate the columns of this DataFrame to their variance value.

    +

    Returns pl.DataFrame

    > const df = pl.DataFrame({
    > "foo": [1, 2, 3],
    > "bar": [6, 7, 8],
    > "ham": ['a', 'b', 'c']
    > });
    > df.var()
    shape: (1, 3)
    ╭─────┬─────┬──────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    f64f64str
    ╞═════╪═════╪══════╡
    11null
    ╰─────┴─────┴──────╯ +
    + +
  • Grow this DataFrame vertically by stacking a DataFrame to it.

    +

    Parameters

    Returns pl.DataFrame

    > const df1 = pl.DataFrame({
    ... "foo": [1, 2],
    ... "bar": [6, 7],
    ... "ham": ['a', 'b']
    ... });
    > const df2 = pl.DataFrame({
    ... "foo": [3, 4],
    ... "bar": [8 , 9],
    ... "ham": ['c', 'd']
    ... });
    > df1.vstack(df2);
    shape: (4, 3)
    ╭─────┬─────┬─────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27"b"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    49"d"
    ╰─────┴─────┴─────╯ +
    + +
  • Return a new DataFrame with the column renamed.

    +

    Parameters

    • existing: string
    • replacement: string

    Returns pl.DataFrame

  • Parameters

    • opts: {
          existing: string;
          replacement: string;
      }
      • existing: string
      • replacement: string

    Returns pl.DataFrame

diff --git a/interfaces/pl.Expr-1.html b/interfaces/pl.Expr-1.html new file mode 100644 index 00000000..b270342e --- /dev/null +++ b/interfaces/pl.Expr-1.html @@ -0,0 +1,558 @@ +Expr | nodejs-polars

Interface Expr

Expressions that can be used in various contexts.

+
interface Expr {
    [INSPECT_SYMBOL](): string;
    [toStringTag](): string;
    _expr: any;
    abs(): pl.Expr;
    add(other: any): pl.Expr;
    aggGroups(): pl.Expr;
    alias(name: string): pl.Expr;
    and(other: any): pl.Expr;
    arccos(): pl.Expr;
    arccosh(): pl.Expr;
    arcsin(): pl.Expr;
    arcsinh(): pl.Expr;
    arctan(): pl.Expr;
    arctanh(): pl.Expr;
    argMax(): pl.Expr;
    argMin(): pl.Expr;
    argSort(reverse?: boolean, maintain_order?: boolean): pl.Expr;
    argSort(__namedParameters: {
        maintain_order?: boolean;
        reverse?: boolean;
    }): pl.Expr;
    argUnique(): pl.Expr;
    as(name: string): pl.Expr;
    backwardFill(): pl.Expr;
    cast(dtype: DataType, strict?: boolean): pl.Expr;
    ceil(): pl.Expr;
    clip(min: number, max: number): pl.Expr;
    clip(options: {
        max: number;
        min: number;
    }): any;
    cos(): pl.Expr;
    cosh(): pl.Expr;
    cot(): pl.Expr;
    count(): pl.Expr;
    cumCount(reverse?: boolean): pl.Expr;
    cumCount(__namedParameters: {
        reverse: boolean;
    }): pl.Expr;
    cumMax(reverse?: boolean): pl.Expr;
    cumMax(__namedParameters: {
        reverse: boolean;
    }): pl.Expr;
    cumMin(reverse?: boolean): pl.Expr;
    cumMin(__namedParameters: {
        reverse: boolean;
    }): pl.Expr;
    cumProd(reverse?: boolean): pl.Expr;
    cumProd(__namedParameters: {
        reverse: boolean;
    }): pl.Expr;
    cumSum(reverse?: boolean): pl.Expr;
    cumSum(__namedParameters: {
        reverse: boolean;
    }): pl.Expr;
    get date(): DatetimeNamespace;
    diff(n: number, nullBehavior: "ignore" | "drop"): pl.Expr;
    diff(o: {
        n: number;
        nullBehavior: "ignore" | "drop";
    }): pl.Expr;
    div(other: any): pl.Expr;
    divideBy(other: any): pl.Expr;
    dot(other: any): pl.Expr;
    eq(other: any): pl.Expr;
    equals(other: any): pl.Expr;
    ewmMean(): pl.Expr;
    ewmMean(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Expr;
    ewmMean(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Expr;
    ewmStd(): pl.Expr;
    ewmStd(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Expr;
    ewmStd(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Expr;
    ewmVar(): pl.Expr;
    ewmVar(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Expr;
    ewmVar(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Expr;
    exclude(column: string, ...columns: string[]): pl.Expr;
    exp(): pl.Expr;
    explode(): pl.Expr;
    extend(value: any, n: number): pl.Expr;
    extend(opt: {
        n: number;
        value: any;
    }): pl.Expr;
    extendConstant(value: any, n: number): pl.Expr;
    extendConstant(opt: {
        n: number;
        value: any;
    }): pl.Expr;
    fillNan(other: any): pl.Expr;
    fillNull(other: any): pl.Expr;
    filter(predicate: pl.Expr): pl.Expr;
    first(): pl.Expr;
    flatten(): pl.Expr;
    floor(): pl.Expr;
    forwardFill(): pl.Expr;
    gather(index: pl.Expr | number[] | pl.Series<any>): pl.Expr;
    gather(__namedParameters: {
        index: pl.Expr | number[] | pl.Series<any>;
    }): pl.Expr;
    gatherEvery(n: number, offset?: number): pl.Expr;
    greaterThan(other: any): pl.Expr;
    greaterThanEquals(other: any): pl.Expr;
    gt(other: any): pl.Expr;
    gtEq(other: any): pl.Expr;
    hash(k0?: number, k1?: number, k2?: number, k3?: number): pl.Expr;
    hash(__namedParameters: {
        k0?: number;
        k1?: number;
        k2?: number;
        k3?: number;
    }): pl.Expr;
    head(length?: number): pl.Expr;
    head(__namedParameters: {
        length: number;
    }): pl.Expr;
    inner(): any;
    interpolate(): pl.Expr;
    isDuplicated(): pl.Expr;
    isFinite(): pl.Expr;
    isFirstDistinct(): pl.Expr;
    isIn(other: any): pl.Expr;
    isInfinite(): pl.Expr;
    isNan(): pl.Expr;
    isNotNan(): pl.Expr;
    isNotNull(): pl.Expr;
    isNull(): pl.Expr;
    isUnique(): pl.Expr;
    keepName(): pl.Expr;
    kurtosis(): pl.Expr;
    kurtosis(fisher: boolean, bias?: boolean): pl.Expr;
    kurtosis(__namedParameters: {
        bias?: boolean;
        fisher?: boolean;
    }): pl.Expr;
    last(): pl.Expr;
    lessThan(other: any): pl.Expr;
    lessThanEquals(other: any): pl.Expr;
    list(): pl.Expr;
    log(base?: number): pl.Expr;
    log1p(): pl.Expr;
    lowerBound(): pl.Expr;
    get lst(): ListNamespace;
    lt(other: any): pl.Expr;
    ltEq(other: any): pl.Expr;
    max(): pl.Expr;
    mean(): pl.Expr;
    median(): pl.Expr;
    min(): pl.Expr;
    minus(other: any): pl.Expr;
    mode(): pl.Expr;
    modulo(other: any): pl.Expr;
    mul(other: any): pl.Expr;
    multiplyBy(other: any): pl.Expr;
    nUnique(): pl.Expr;
    neq(other: any): pl.Expr;
    not(): pl.Expr;
    notEquals(other: any): pl.Expr;
    or(other: any): pl.Expr;
    over(by: ExprOrString, ...partitionBy: ExprOrString[]): pl.Expr;
    peakMax(): pl.Expr;
    peakMin(): pl.Expr;
    plus(other: any): pl.Expr;
    pow(exponent: number): pl.Expr;
    pow(__namedParameters: {
        exponent: number;
    }): pl.Expr;
    prefix(prefix: string): pl.Expr;
    quantile(quantile: number | pl.Expr): pl.Expr;
    rank(method?: RankMethod): pl.Expr;
    rank(__namedParameters: {
        method: string;
    }): pl.Expr;
    reinterpret(signed?: boolean): pl.Expr;
    reinterpret(__namedParameters: {
        signed: boolean;
    }): pl.Expr;
    rem(other: any): pl.Expr;
    repeatBy(by: string | pl.Expr): pl.Expr;
    replace(old:
        | string
        | number
        | pl.Expr
        | (string | number)[], new_:
        | string
        | number
        | pl.Expr
        | (string | number)[]): pl.Expr;
    replace(__namedParameters: {
        new_?:
            | string
            | number
            | pl.Expr
            | (string | number)[];
        old: unknown;
    }): pl.Expr;
    replaceStrict(old:
        | string
        | number
        | pl.Expr
        | (string | number)[], new_:
        | string
        | number
        | pl.Expr
        | (string | number)[], default_?:
        | string
        | number
        | pl.Expr
        | (string | number)[], returnDtype?: DataType): pl.Expr;
    replaceStrict(__namedParameters: {
        default_?:
            | string
            | number
            | pl.Expr
            | (string | number)[];
        new_?:
            | string
            | number
            | pl.Expr
            | (string | number)[];
        old: unknown;
        returnDtype?: DataType;
    }): pl.Expr;
    reverse(): pl.Expr;
    rollingMax(options: RollingOptions): pl.Expr;
    rollingMax(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Expr;
    rollingMean(options: RollingOptions): pl.Expr;
    rollingMean(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Expr;
    rollingMedian(options: RollingOptions): pl.Expr;
    rollingMedian(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Expr;
    rollingMin(options: RollingOptions): pl.Expr;
    rollingMin(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Expr;
    rollingQuantile(options: RollingQuantileOptions): pl.Expr;
    rollingQuantile(quantile: number, interpolation?: InterpolationMethod, windowSize?: number, weights?: number[], minPeriods?: number[], center?: boolean, by?: string, closed?: ClosedWindow): pl.Expr;
    rollingSkew(windowSize: number, bias?: boolean): pl.Expr;
    rollingSkew(options: RollingSkewOptions): pl.Expr;
    rollingStd(options: RollingOptions): pl.Expr;
    rollingStd(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean, ddof?: number): pl.Expr;
    rollingSum(options: RollingOptions): pl.Expr;
    rollingSum(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Expr;
    rollingVar(options: RollingOptions): pl.Expr;
    rollingVar(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean, ddof?: number): pl.Expr;
    round(decimals: number): pl.Expr;
    round(options: {
        decimals: number;
    }): pl.Expr;
    sample(opts?: {
        n: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.Expr;
    sample(opts?: {
        frac: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.Expr;
    sample(n?: number, frac?: number, withReplacement?: boolean, seed?: number | bigint): pl.Expr;
    serialize(format: "json" | "bincode"): Buffer;
    shift(periods?: number): pl.Expr;
    shift(__namedParameters: {
        periods: number;
    }): pl.Expr;
    shiftAndFill(periods: number, fillValue: number): pl.Expr;
    shiftAndFill(__namedParameters: {
        fillValue: number;
        periods: number;
    }): pl.Expr;
    sin(): pl.Expr;
    sinh(): pl.Expr;
    skew(bias?: boolean): pl.Expr;
    skew(__namedParameters: {
        bias: boolean;
    }): pl.Expr;
    slice(offset: number | pl.Expr, length: number | pl.Expr): pl.Expr;
    slice(__namedParameters: {
        length: number | pl.Expr;
        offset: number | pl.Expr;
    }): pl.Expr;
    sort(reverse?: boolean, nullsLast?: boolean): pl.Expr;
    sort(__namedParameters: {
        nullsLast?: boolean;
        reverse?: boolean;
    }): pl.Expr;
    sortBy(by: ExprOrString | ExprOrString[], reverse?: boolean | boolean[]): pl.Expr;
    sortBy(options: {
        by: ExprOrString | ExprOrString[];
        reverse?: boolean | boolean[];
    }): pl.Expr;
    std(): pl.Expr;
    get str(): StringNamespace;
    get struct(): StructNamespace;
    sub(other: any): pl.Expr;
    suffix(suffix: string): pl.Expr;
    sum(): pl.Expr;
    tail(length?: number): pl.Expr;
    tail(__namedParameters: {
        length: number;
    }): pl.Expr;
    tan(): pl.Expr;
    tanh(): pl.Expr;
    toJSON(): string;
    toString(): string;
    unique(opt: {
        maintainOrder: boolean;
    }): pl.Expr;
    unique(maintainOrder?: boolean): pl.Expr;
    upperBound(): pl.Expr;
    var(): pl.Expr;
    where(predicate: pl.Expr): pl.Expr;
}

Hierarchy

Properties

_expr: any

Accessors

Methods - Arithmetic

  • Get the remainder of self divided by other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Get the remainder of self divided by other

    +

    Parameters

    • other: any

    Returns pl.Expr

Methods - Comparison

  • Compare self to other: self == other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Compare self to other: self > other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Compare self to other: self >= other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Compare self to other: self < other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Compare self to other: self =< other

    +

    Parameters

    • other: any

    Returns pl.Expr

  • Compare self to other: self !== other

    +

    Parameters

    • other: any

    Returns pl.Expr

Methods - Cumulative

  • Get an array with the cumulative count computed at every element.

    +

    Parameters

    • Optionalreverse: boolean

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Expr

  • Get an array with the cumulative max computes at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Expr

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumMax()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    2
    3
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Expr

  • Get an array with the cumulative min computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Expr

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumMin()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    1
    1
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Expr

  • Get an array with the cumulative product computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Expr

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumProd()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    2
    6
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Expr

  • Get an array with the cumulative sum computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Expr

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumSum()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    3
    6
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Expr

Methods - Math

  • Ceil underlying floating point array to the highest integers smaller or equal to the float value. +Only works on floating point Series

    +

    Returns pl.Expr

  • Clip (limit) the values in an array to any value that fits in 64 floating point range. +Only works for the following dtypes: {Int32, Int64, Float32, Float64, UInt32}. +If you want to clip other dtypes, consider writing a when -> then -> otherwise expression

    +

    Parameters

    • min: number

      Minimum value

      +
    • max: number

      Maximum value

      +

    Returns pl.Expr

  • Parameters

    • options: {
          max: number;
          min: number;
      }
      • max: number
      • min: number

    Returns any

  • Floor underlying floating point array to the lowest integers smaller or equal to the float value. +Only works on floating point Series

    +

    Returns pl.Expr

  • Round underlying floating point data by decimals digits.

    +

    Similar functionality to javascript toFixed

    +

    Parameters

    • decimals: number

      number of decimals to round by.

      +

    Returns pl.Expr

  • Parameters

    • options: {
          decimals: number;
      }
      • decimals: number

    Returns pl.Expr

  • Sample from this DataFrame by setting either n or frac.

    +

    Parameters

    • Optionalopts: {
          n: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • n: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.Expr

    > df = pl.DataFrame({
    > "foo": [1, 2, 3],
    > "bar": [6, 7, 8],
    > "ham": ['a', 'b', 'c']
    > })
    > df.sample({n: 2})
    shape: (2, 3)
    ╭─────┬─────┬─────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ╰─────┴─────┴─────╯ +
    + +
  • Parameters

    • Optionalopts: {
          frac: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • frac: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.Expr

  • Parameters

    • Optionaln: number
    • Optionalfrac: number
    • OptionalwithReplacement: boolean
    • Optionalseed: number | bigint

    Returns pl.Expr

Methods - Other

  • Get the group indexes of the group by operation. +Should be used in aggregation context only.

    +

    Returns pl.Expr

     >>> const df = pl.DataFrame(
    ... {
    ... "group": [
    ... "one",
    ... "one",
    ... "one",
    ... "two",
    ... "two",
    ... "two",
    ... ],
    ... "value": [94, 95, 96, 97, 97, 99],
    ... }
    ... )
    >>> df.group_by("group", maintain_order=True).agg(pl.col("value").aggGroups())
    shape: (2, 2)
    ┌───────┬───────────┐
    groupvalue
    │ --- ┆ --- │
    strlist[u32] │
    ╞═══════╪═══════════╡
    one ┆ [0, 1, 2] │
    two ┆ [3, 4, 5] │
    └───────┴───────────┘ +
    + +
  • Rename the output of an expression.

    +

    Parameters

    • name: string

      new name

      +

    Returns pl.Expr

    Expr.as

    +
    > const df = pl.DataFrame({
    ... "a": [1, 2, 3],
    ... "b": ["a", "b", None],
    ... });
    > df
    shape: (3, 2)
    ╭─────┬──────╮
    ab
    │ --- ┆ --- │
    i64str
    ╞═════╪══════╡
    1"a"
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    2"b"
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    3null
    ╰─────┴──────╯
    > df.select([
    ... pl.col("a").alias("bar"),
    ... pl.col("b").alias("foo"),
    ... ])
    shape: (3, 2)
    ╭─────┬──────╮
    barfoo
    │ --- ┆ --- │
    i64str
    ╞═════╪══════╡
    1"a"
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    2"b"
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    3null
    ╰─────┴──────╯ +
    + +
  • Compute the element-wise value for the inverse cosine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
       >>> const df = pl.DataFrame({"a": [0.0]})
    >>> df.select(pl.col("a").acrcos())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    1.570796
    └──────────┘ +
    + +
  • Compute the element-wise value for the inverse hyperbolic cosine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
       >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").acrcosh())
    shape: (1, 1)
    ┌─────┐
    a
    │ --- │
    f64
    ╞═════╡
    0.0
    └─────┘ +
    + +
  • Compute the element-wise value for the inverse sine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
    >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").acrsin())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    1.570796
    └──────────┘ +
    + +
  • Compute the element-wise value for the inverse hyperbolic sine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").acrsinh())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    0.881374
    └──────────┘
    * +
    + +
  • Compute the element-wise value for the inverse tangent.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").arctan())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    0.785398
    └──────────┘ +
    + +
  • Compute the element-wise value for the inverse hyperbolic tangent.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").arctanh())
    shape: (1, 1)
    ┌─────┐
    a
    │ --- │
    f64
    ╞═════╡
    inf
    └─────┘ +
    + +
  • Get the index values that would sort this column.

    +

    Parameters

    • Optionalreverse: boolean

      false -> order from small to large. +- true -> order from large to small.

      +
    • Optionalmaintain_order: boolean

    Returns pl.Expr

    UInt32 Series

    +
  • Parameters

    • __namedParameters: {
          maintain_order?: boolean;
          reverse?: boolean;
      }
      • Optionalmaintain_order?: boolean
      • Optionalreverse?: boolean

    Returns pl.Expr

  • Compute the element-wise value for the cosine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
       >>> const df = pl.DataFrame({"a": [0.0]})
    >>> df.select(pl.col("a").cos())
    shape: (1, 1)
    ┌─────┐
    a
    │ --- │
    f64
    ╞═════╡
    1.0
    └─────┘ +
    + +
  • Compute the element-wise value for the hyperbolic cosine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
       >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").cosh())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    1.543081
    └──────────┘ +
    + +
  • Compute the element-wise value for the cotangent.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").cot().round(2))
    shape: (1, 1)
    ┌──────┐
    a
    │ --- │
    f64
    ╞══════╡
    0.64
    └──────┘ +
    + +
  • Calculate the n-th discrete difference.

    +

    Parameters

    • n: number

      number of slots to shift

      +
    • nullBehavior: "ignore" | "drop"

      ignore or drop

      +

    Returns pl.Expr

  • Parameters

    • o: {
          n: number;
          nullBehavior: "ignore" | "drop";
      }
      • n: number
      • nullBehavior: "ignore" | "drop"

    Returns pl.Expr

  • Compute the dot/inner product between two Expressions

    +

    Parameters

    • other: any

      Expression to compute dot product with

      +

    Returns pl.Expr

  • Exponentially-weighted moving average.

    +

    Returns pl.Expr

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmMean())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    1.0
    1.666667
    2.428571
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Expr

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Expr

  • Exponentially-weighted standard deviation.

    +

    Returns pl.Expr

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmStd())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    0.0
    0.707107
    0.963624
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Expr

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Expr

  • Exponentially-weighted variance.

    +

    Returns pl.Expr

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmVar())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    0.0
    0.5
    0.928571
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Expr

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Expr

  • Exclude certain columns from a wildcard/regex selection.

    +

    You may also use regexes in the exclude list. They must start with ^ and end with $.

    +

    Parameters

    • column: string
    • Rest...columns: string[]

      Column(s) to exclude from selection

      +

    Returns pl.Expr

     > const df = pl.DataFrame({
    ... "a": [1, 2, 3],
    ... "b": ["a", "b", None],
    ... "c": [None, 2, 1],
    ...});
    > df
    shape: (3, 3)
    ╭─────┬──────┬──────╮
    abc
    │ --- ┆ --- ┆ --- │
    i64stri64
    ╞═════╪══════╪══════╡
    1"a"null
    ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2"b"2
    ├╌╌╌╌╌┼╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    3null1
    ╰─────┴──────┴──────╯
    > df.select(
    ... pl.col("*").exclude("b"),
    ... );
    shape: (3, 2)
    ╭─────┬──────╮
    ac
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════╡
    1null
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    22
    ├╌╌╌╌╌┼╌╌╌╌╌╌┤
    31
    ╰─────┴──────╯ +
    + +
  • Compute the exponential, element-wise.

    +

    Returns pl.Expr

     >>> const df = pl.DataFrame({"values": [1.0, 2.0, 4.0]})
    >>> df.select(pl.col("values").exp())
    shape: (3, 1)
    ┌──────────┐
    values
    │ --- │
    f64
    ╞══════════╡
    2.718282
    7.389056
    54.59815
    └──────────┘ +
    + +
  • Extend the Series with given number of values.

    +

    Parameters

    • value: any

      The value to extend the Series with. This value may be null to fill with nulls.

      +
    • n: number

      The number of values to extend.

      +

    Returns pl.Expr

    extendConstant

    +
  • Parameters

    • opt: {
          n: number;
          value: any;
      }
      • n: number
      • value: any

    Returns pl.Expr

  • Extend the Series with given number of values.

    +

    Parameters

    • value: any

      The value to extend the Series with. This value may be null to fill with nulls.

      +
    • n: number

      The number of values to extend.

      +

    Returns pl.Expr

  • Parameters

    • opt: {
          n: number;
          value: any;
      }
      • n: number
      • value: any

    Returns pl.Expr

  • Filter a single column.

    +

    Mostly useful in in aggregation context. +If you want to filter on a DataFrame level, use LazyFrame.filter.

    +

    Parameters

    • predicate: pl.Expr

      Boolean expression.

      +

    Returns pl.Expr

  • Take every nth value in the Series and return as a new Series.

    +

    Parameters

    • n: number
    • Optionaloffset: number

    Returns pl.Expr

  • Hash the Series.

    +

    Parameters

    • Optionalk0: number
    • Optionalk1: number
    • Optionalk2: number
    • Optionalk3: number

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          k0?: number;
          k1?: number;
          k2?: number;
          k3?: number;
      }
      • Optionalk0?: number
      • Optionalk1?: number
      • Optionalk2?: number
      • Optionalk3?: number

    Returns pl.Expr

  • Check if elements of this Series are in the right Series, or List values of the right Series.

    +

    Parameters

    • other: any

      Series of primitive type or List type.

      +

    Returns pl.Expr

    Expr that evaluates to a Boolean Series.

    +
    > const df = pl.DataFrame({
    ... "sets": [[1, 2, 3], [1, 2], [9, 10]],
    ... "optional_members": [1, 2, 3]
    ... });
    > df.select(
    ... pl.col("optional_members").isIn("sets").alias("contains")
    ... );
    shape: (3, 1)
    ┌──────────┐
    contains
    │ --- │
    bool
    ╞══════════╡
    true
    ├╌╌╌╌╌╌╌╌╌╌┤
    true
    ├╌╌╌╌╌╌╌╌╌╌┤
    false
    └──────────┘ +
    + +
  • Keep the original root name of the expression.

    +

    A groupby aggregation often changes the name of a column. +With keepName we can keep the original name of the column

    +

    Returns pl.Expr

    > const df = pl.DataFrame({
    ... "a": [1, 2, 3],
    ... "b": ["a", "b", None],
    ... });

    > df
    ... .groupBy("a")
    ... .agg(pl.col("b").list())
    ... .sort({by:"a"});

    shape: (3, 2)
    ╭─────┬────────────╮
    ab_agg_list
    │ --- ┆ --- │
    i64list [str] │
    ╞═════╪════════════╡
    1 ┆ [a] │
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    2 ┆ [b] │
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    3 ┆ [null] │
    ╰─────┴────────────╯

    Keep the original column name:

    > df
    ... .groupby("a")
    ... .agg(col("b").list().keepName())
    ... .sort({by:"a"})

    shape: (3, 2)
    ╭─────┬────────────╮
    ab
    │ --- ┆ --- │
    i64list [str] │
    ╞═════╪════════════╡
    1 ┆ [a] │
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    2 ┆ [b] │
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┤
    3 ┆ [null] │
    ╰─────┴────────────╯ +
    + +
  • Compute the logarithm to a given base.

    +

    Parameters

    • Optionalbase: number

      Given base, defaults to e

      +

    Returns pl.Expr

     >>> const df = pl.DataFrame({"a": [1, 2, 3]})
    >>> df.select(pl.col("a").log(base=2))
    shape: (3, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    0.0
    1.0
    1.584963
    └──────────┘ +
    + +
  • Compute the natural logarithm of each element plus one. +This computes log(1 + x) but is more numerically stable for x close to zero.

    +

    Returns pl.Expr

     >>> const df = pl.DataFrame({"a": [1, 2, 3]})
    >>> df.select(pl.col("a").log1p())
    shape: (3, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    0.693147
    1.098612
    1.386294
    └──────────┘ +
    + +
  • Apply window function over a subgroup.

    +

    This is similar to a groupby + aggregation + self join. +Or similar to window functions in Postgres

    +

    Parameters

    • by: ExprOrString
    • Rest...partitionBy: ExprOrString[]

      Column(s) to partition by.

      +

    Returns pl.Expr

    > const df = pl.DataFrame({
    ... "groups": [1, 1, 2, 2, 1, 2, 3, 3, 1],
    ... "values": [1, 2, 3, 4, 5, 6, 7, 8, 8],
    ... });
    > df.select(
    ... pl.col("groups").sum().over("groups")
    ... );
    ╭────────┬────────╮
    groupsvalues
    │ --- ┆ --- │
    i32i32
    ╞════════╪════════╡
    116
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    116
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    213
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    213
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    │ ... ┆ ... │
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    116
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    213
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    315
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    315
    ├╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    116
    ╰────────┴────────╯ +
    + +
  • Add a prefix the to root column name of the expression.

    +

    Parameters

    • prefix: string

    Returns pl.Expr

    > const df = 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"],
    ... });
    shape: (5, 4)
    ╭─────┬──────────┬─────┬──────────╮
    AfruitsBcars
    │ --- ┆ --- ┆ --- ┆ --- │
    i64stri64str
    ╞═════╪══════════╪═════╪══════════╡
    1"banana"5"beetle"
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
    2"banana"4"audi"
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
    3"apple"3"beetle"
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
    4"apple"2"beetle"
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌┤
    5"banana"1"beetle"
    ╰─────┴──────────┴─────┴──────────╯
    > df.select(
    ... pl.col("*").reverse().prefix("reverse_"),
    ... )
    shape: (5, 8)
    ╭───────────┬────────────────┬───────────┬──────────────╮
    reverse_Areverse_fruitsreverse_Breverse_cars
    │ --- ┆ --- ┆ --- ┆ --- │
    i64stri64str
    ╞═══════════╪════════════════╪═══════════╪══════════════╡
    5"banana"1"beetle"
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    4"apple"2"beetle"
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    3"apple"3"beetle"
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    2"banana"4"audi"
    ├╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    1"banana"5"beetle"
    ╰───────────┴────────────────┴───────────┴──────────────╯ +
    + +
  • Repeat the elements in this Series n times by dictated by the number given by by. +The elements are expanded into a List

    +

    Parameters

    • by: string | pl.Expr

      Numeric column that determines how often the values will be repeated.

      +

      The column will be coerced to UInt32. Give this dtype to make the coercion a no-op.

      +

    Returns pl.Expr

  • Replace the given values by different values of the same data type.

    +

    Parameters

    • old:
          | string
          | number
          | pl.Expr
          | (string | number)[]

      Value or sequence of values to replace. +Accepts expression input. Sequences are parsed as Series, other non-expression inputs are parsed as literals.

      +
    • new_:
          | string
          | number
          | pl.Expr
          | (string | number)[]

      Value or sequence of values to replace by. +Accepts expression input. Sequences are parsed as Series, other non-expression inputs are parsed as literals. +Length must match the length of old or have length 1.

      +

    Returns pl.Expr

      +
    • replace_strict
    • +
    • str.replace
    • +
    +

    Replace a single value by another value. Values that were not replaced remain unchanged.

    +
     >>> const df = pl.DataFrame({"a": [1, 2, 2, 3]});
    >>> df.withColumns(pl.col("a").replace(2, 100).alias("replaced"));
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    11
    2100
    2100
    33
    └─────┴──────────┘ +
    + +

    Replace multiple values by passing sequences to the old and new_ parameters.

    +
     >>> df.withColumns(pl.col("a").replace([2, 3], [100, 200]).alias("replaced"));
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    11
    2100
    2100
    3200
    └─────┴──────────┘ +
    + +

    Passing a mapping with replacements is also supported as syntactic sugar. +Specify a default to set all values that were not matched.

    +
     >>> const mapping = {2: 100, 3: 200};
    >>> df.withColumns(pl.col("a").replace({ old: mapping }).alias("replaced");
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    1 ┆ -1
    2100
    2100
    3200
    └─────┴──────────┘ +
    + +
  • Parameters

    • __namedParameters: {
          new_?:
              | string
              | number
              | pl.Expr
              | (string | number)[];
          old: unknown;
      }
      • Optionalnew_?:
            | string
            | number
            | pl.Expr
            | (string | number)[]
      • old: unknown

    Returns pl.Expr

  • Replace values by different values.

    +

    Parameters

    • old:
          | string
          | number
          | pl.Expr
          | (string | number)[]

      Value or sequence of values to replace. +Accepts expression input. Sequences are parsed as Series, other non-expression inputs are parsed as literals.

      +
    • new_:
          | string
          | number
          | pl.Expr
          | (string | number)[]

      Value or sequence of values to replace by. +Accepts expression input. Sequences are parsed as Series, other non-expression inputs are parsed as literals. +Length must match the length of old or have length 1.

      +
    • Optionaldefault_:
          | string
          | number
          | pl.Expr
          | (string | number)[]

      Set values that were not replaced to this value. +Defaults to keeping the original value. +Accepts expression input. Non-expression inputs are parsed as literals.

      +
    • OptionalreturnDtype: DataType

      The data type of the resulting expression. If set to None (default), the data type is determined automatically based on the other inputs.

      +

    Returns pl.Expr

    +

    Replace a single value by another value. Values that were not replaced remain unchanged.

    +
     >>> const df = pl.DataFrame({"a": [1, 2, 2, 3]});
    >>> df.withColumns(pl.col("a").replace(2, 100).alias("replaced"));
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    11
    2100
    2100
    33
    └─────┴──────────┘ +
    + +

    Replace multiple values by passing sequences to the old and new_ parameters.

    +
     >>> df.withColumns(pl.col("a").replace([2, 3], [100, 200]).alias("replaced"));
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    11
    2100
    2100
    3200
    └─────┴──────────┘ +
    + +

    Passing a mapping with replacements is also supported as syntactic sugar. +Specify a default to set all values that were not matched.

    +
     >>> const mapping = {2: 100, 3: 200};
    >>> df.withColumns(pl.col("a").replaceStrict({ old: mapping, default_: -1, returnDtype: pl.Int64 }).alias("replaced");
    shape: (4, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    i64i64
    ╞═════╪══════════╡
    1 ┆ -1
    2100
    2100
    3200
    └─────┴──────────┘ +
    + +

    Replacing by values of a different data type sets the return type based on +a combination of the new_ data type and either the original data type or the +default data type if it was set.

    +
     >>> const df = pl.DataFrame({"a": ["x", "y", "z"]});
    >>> const mapping = {"x": 1, "y": 2, "z": 3};
    >>> df.withColumns(pl.col("a").replaceStrict({ old: mapping }).alias("replaced"));
    shape: (3, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    strstr
    ╞═════╪══════════╡
    x1
    y2
    z3
    └─────┴──────────┘
    >>> df.withColumns(pl.col("a").replaceStrict({ old: mapping, default_: None }).alias("replaced"));
    shape: (3, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    stri64
    ╞═════╪══════════╡
    x1
    y2
    z3
    └─────┴──────────┘ +
    + +

    Set the returnDtype parameter to control the resulting data type directly.

    +
     >>> df.withColumns(pl.col("a").replaceStrict({ old: mapping, returnDtype: pl.UInt8 }).alias("replaced"));
    shape: (3, 2)
    ┌─────┬──────────┐
    areplaced
    │ --- ┆ --- │
    stru8
    ╞═════╪══════════╡
    x1
    y2
    z3
    └─────┴──────────┘ +
    + +

    Expression input is supported for all parameters.

    +
     >>> const df = pl.DataFrame({"a": [1, 2, 2, 3], "b": [1.5, 2.5, 5.0, 1.0]});
    >>> df.withColumns(
    ... pl.col("a").replaceStrict({
    ... old: pl.col("a").max(),
    ... new_: pl.col("b").sum(),
    ... default_: pl.col("b"),
    ... }).alias("replaced")
    ... );
    shape: (4, 3)
    ┌─────┬─────┬──────────┐
    abreplaced
    │ --- ┆ --- ┆ --- │
    i64f64f64
    ╞═════╪═════╪══════════╡
    11.51.5
    22.52.5
    25.05.0
    31.010.0
    └─────┴─────┴──────────┘ +
    + +
  • Parameters

    • __namedParameters: {
          default_?:
              | string
              | number
              | pl.Expr
              | (string | number)[];
          new_?:
              | string
              | number
              | pl.Expr
              | (string | number)[];
          old: unknown;
          returnDtype?: DataType;
      }
      • Optionaldefault_?:
            | string
            | number
            | pl.Expr
            | (string | number)[]
      • Optionalnew_?:
            | string
            | number
            | pl.Expr
            | (string | number)[]
      • old: unknown
      • OptionalreturnDtype?: DataType

    Returns pl.Expr

  • Serializes object to desired format via serde

    +

    Parameters

    Returns Buffer

  • Shift the values by a given period and fill the parts that will be empty due to this operation

    +

    Parameters

    • Optionalperiods: number

      number of places to shift (may be negative).

      +

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          periods: number;
      }
      • periods: number

    Returns pl.Expr

  • Shift the values by a given period and fill the parts that will be empty due to this operation

    +

    Parameters

    • periods: number

      Number of places to shift (may be negative).

      +
    • fillValue: number

      Fill null values with the result of this expression.

      +

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          fillValue: number;
          periods: number;
      }
      • fillValue: number
      • periods: number

    Returns pl.Expr

  • Compute the element-wise value for the sine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [0.0]})
    >>> df.select(pl.col("a").sin())
    shape: (1, 1)
    ┌─────┐
    a
    │ --- │
    f64
    ╞═════╡
    0.0
    └─────┘ +
    + +
  • Compute the element-wise value for the hyperbolic sine.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").sinh())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    1.175201
    └──────────┘ +
    + +
  • Compute the sample skewness of a data set. +For normally distributed data, the skewness should be about zero. For +unimodal continuous distributions, a skewness value greater than zero means +that there is more weight in the right tail of the distribution.

    +
    +

    Parameters

    • Optionalbias: boolean

      If False, then the calculations are corrected for statistical bias.

      +

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          bias: boolean;
      }
      • bias: boolean

    Returns pl.Expr

  • Sort this column. In projection/ selection context the whole column is sorted.

    +

    Parameters

    • Optionalreverse: boolean
        +
      • false -> order from small to large.
      • +
      • true -> order from large to small.
      • +
      +
    • OptionalnullsLast: boolean

      If true nulls are considered to be larger than any valid value

      +

    Returns pl.Expr

  • Parameters

    • __namedParameters: {
          nullsLast?: boolean;
          reverse?: boolean;
      }
      • OptionalnullsLast?: boolean
      • Optionalreverse?: boolean

    Returns pl.Expr

  • Sort this column by the ordering of another column, or multiple other columns. +In projection/ selection context the whole column is sorted. +If used in a groupby context, the groups are sorted.

    +

    Parameters

    • by: ExprOrString | ExprOrString[]

      The column(s) used for sorting.

      +
    • Optionalreverse: boolean | boolean[]

      false -> order from small to large. +true -> order from large to small.

      +

    Returns pl.Expr

  • Parameters

    • options: {
          by: ExprOrString | ExprOrString[];
          reverse?: boolean | boolean[];
      }
      • by: ExprOrString | ExprOrString[]
      • Optionalreverse?: boolean | boolean[]

    Returns pl.Expr

  • Get sum value.

    +

    Returns pl.Expr

    Dtypes in {Int8, UInt8, Int16, UInt16} are cast to Int64 before summing to prevent overflow issues.

    +
  • Compute the element-wise value for the tangent.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").tan().round(2))
    shape: (1, 1)
    ┌──────┐
    a
    │ --- │
    f64
    ╞══════╡
    1.56
    └──────┘ +
    + +
  • Compute the element-wise value for the hyperbolic tangent.

    +

    Returns pl.Expr

    Expression of data type :class:Float64.

    +
     >>> const df = pl.DataFrame({"a": [1.0]})
    >>> df.select(pl.col("a").tanh())
    shape: (1, 1)
    ┌──────────┐
    a
    │ --- │
    f64
    ╞══════════╡
    0.761594
    └──────────┘ +
    + +
  • Returns a string representation of an object.

    +

    Returns string

Methods - Rolling

  • Apply a rolling max (moving max) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Expr

  • Apply a rolling mean (moving mean) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Expr

  • Compute a rolling median

    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Expr

  • Apply a rolling min (moving min) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Expr

  • Compute a rolling quantile

    +

    Parameters

    Returns pl.Expr

  • Parameters

    • quantile: number
    • Optionalinterpolation: InterpolationMethod
    • OptionalwindowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean
    • Optionalby: string
    • Optionalclosed: ClosedWindow

    Returns pl.Expr

  • Compute a rolling skew

    +

    Parameters

    • windowSize: number

      Size of the rolling window

      +
    • Optionalbias: boolean

      If false, then the calculations are corrected for statistical bias.

      +

    Returns pl.Expr

  • Compute a rolling skew

    +

    Parameters

    Returns pl.Expr

  • Compute a rolling std dev

    +

    A window of length window_size will traverse the array. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector. The resulting +values will be aggregated to their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean
    • Optionalddof: number

    Returns pl.Expr

  • Apply a rolling sum (moving sum) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Expr

  • Compute a rolling variance.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Expr

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean
    • Optionalddof: number

    Returns pl.Expr

diff --git a/interfaces/pl.LazyDataFrame.html b/interfaces/pl.LazyDataFrame.html new file mode 100644 index 00000000..192ce8aa --- /dev/null +++ b/interfaces/pl.LazyDataFrame.html @@ -0,0 +1,249 @@ +LazyDataFrame | nodejs-polars

Interface LazyDataFrame

Representation of a Lazy computation graph / query.

+
interface LazyDataFrame {
    [inspect](): string;
    [toStringTag]: string;
    cache(): LazyDataFrame;
    clone(): LazyDataFrame;
    collect(opts?: LazyOptions): Promise<pl.DataFrame>;
    collectSync(opts?: LazyOptions): pl.DataFrame;
    get columns(): string[];
    describeOptimizedPlan(opts?: LazyOptions): string;
    describePlan(): string;
    distinct(maintainOrder?: boolean, subset?: ColumnSelection, keep?: "first" | "last"): LazyDataFrame;
    distinct(opts: {
        keep?: "first" | "last";
        maintainOrder?: boolean;
        subset?: ColumnSelection;
    }): LazyDataFrame;
    drop(name: string): LazyDataFrame;
    drop(names: string[]): LazyDataFrame;
    drop(name: string, ...names: string[]): LazyDataFrame;
    dropNulls(column: string): LazyDataFrame;
    dropNulls(columns: string[]): LazyDataFrame;
    dropNulls(...columns: string[]): LazyDataFrame;
    explode(column: ExprOrString): LazyDataFrame;
    explode(columns: ExprOrString[]): LazyDataFrame;
    explode(column: ExprOrString, ...columns: ExprOrString[]): LazyDataFrame;
    fetch(numRows?: number): Promise<pl.DataFrame>;
    fetch(numRows: number, opts: LazyOptions): Promise<pl.DataFrame>;
    fetchSync(numRows?: number): pl.DataFrame;
    fetchSync(numRows: number, opts: LazyOptions): pl.DataFrame;
    fillNull(fillValue: string | number | pl.Expr): LazyDataFrame;
    filter(predicate: string | pl.Expr): LazyDataFrame;
    first(): pl.DataFrame;
    groupBy(by: ColumnsOrExpr, maintainOrder?: boolean): LazyGroupBy;
    groupBy(by: ColumnsOrExpr, opts: {
        maintainOrder: boolean;
    }): LazyGroupBy;
    groupByDynamic(options: {
        by?: ColumnsOrExpr;
        check_sorted?: boolean;
        closed?:
            | "none"
            | "left"
            | "right"
            | "both";
        every: string;
        includeBoundaries?: boolean;
        indexColumn: string;
        offset?: string;
        period?: string;
        start_by: StartBy;
    }): LazyGroupBy;
    groupByRolling(opts: {
        by?: ColumnsOrExpr;
        check_sorted?: boolean;
        closed?:
            | "none"
            | "left"
            | "right"
            | "both";
        indexColumn: ColumnsOrExpr;
        offset?: string;
        period: string;
    }): LazyGroupBy;
    head(length?: number): LazyDataFrame;
    inner(): any;
    join(other: LazyDataFrame, joinOptions: {
        on: ValueOrArray<string | pl.Expr>;
    } & LazyJoinOptions): LazyDataFrame;
    join(other: LazyDataFrame, joinOptions: {
        leftOn: ValueOrArray<string | pl.Expr>;
        rightOn: ValueOrArray<string | pl.Expr>;
    } & LazyJoinOptions): LazyDataFrame;
    join(other: LazyDataFrame, options: {
        allowParallel?: boolean;
        forceParallel?: boolean;
        how: "cross";
        suffix?: string;
    }): LazyDataFrame;
    joinAsof(other: LazyDataFrame, options: {
        allowParallel?: boolean;
        by?: string | string[];
        byLeft?: string | string[];
        byRight?: string | string[];
        forceParallel?: boolean;
        leftOn?: string;
        on?: string;
        rightOn?: string;
        strategy?: "backward" | "forward";
        suffix?: string;
        tolerance?: string | number;
    }): LazyDataFrame;
    last(): LazyDataFrame;
    limit(n?: number): LazyDataFrame;
    max(): LazyDataFrame;
    mean(): LazyDataFrame;
    median(): LazyDataFrame;
    melt(idVars: ColumnSelection, valueVars: ColumnSelection): LazyDataFrame;
    min(): LazyDataFrame;
    quantile(quantile: number): LazyDataFrame;
    rename(mapping: Record<string, string>): LazyDataFrame;
    reverse(): LazyDataFrame;
    select(column: ExprOrString): LazyDataFrame;
    select(columns: ExprOrString[]): LazyDataFrame;
    select(...columns: ExprOrString[]): LazyDataFrame;
    serialize(format: "json" | "bincode"): Buffer;
    shift(periods: number): LazyDataFrame;
    shift(opts: {
        periods: number;
    }): LazyDataFrame;
    shiftAndFill(n: number, fillValue: number): LazyDataFrame;
    shiftAndFill(opts: {
        fillValue: number;
        n: number;
    }): LazyDataFrame;
    sinkCSV(path: string, options?: SinkCsvOptions): void;
    sinkParquet(path: string, options?: SinkParquetOptions): void;
    slice(offset: number, length: number): LazyDataFrame;
    slice(opts: {
        length: number;
        offset: number;
    }): LazyDataFrame;
    sort(by: ColumnsOrExpr, descending?: ValueOrArray<boolean>, nulls_last?: boolean, maintain_order?: boolean): LazyDataFrame;
    sort(opts: {
        by: ColumnsOrExpr;
        descending?: ValueOrArray<boolean>;
        maintain_order?: boolean;
        nulls_last?: boolean;
    }): LazyDataFrame;
    std(): LazyDataFrame;
    sum(): LazyDataFrame;
    tail(length?: number): LazyDataFrame;
    toJSON(): string;
    unique(maintainOrder?: boolean, subset?: ColumnSelection, keep?: "first" | "last"): LazyDataFrame;
    unique(opts: {
        keep?: "first" | "last";
        maintainOrder?: boolean;
        subset?: ColumnSelection;
    }): LazyDataFrame;
    unpivot(idVars: ColumnSelection, valueVars: ColumnSelection): LazyDataFrame;
    var(): LazyDataFrame;
    withColumn(expr: pl.Expr): LazyDataFrame;
    withColumnRenamed(existing: string, replacement: string): LazyDataFrame;
    withColumns(exprs: (pl.Expr | pl.Series<any>)[]): LazyDataFrame;
    withColumns(...exprs: (pl.Expr | pl.Series<any>)[]): LazyDataFrame;
    withRowCount(): LazyDataFrame;
}

Hierarchy

  • Serialize
  • GroupByOps<LazyGroupBy>
    • LazyDataFrame

Properties

[toStringTag]: string

Accessors

Methods

  • Collect into a DataFrame. +Note: use fetch if you want to run this query on the first n rows only. +This can be a huge time saver in debugging queries.

    +

    Parameters

    Returns Promise<pl.DataFrame>

    DataFrame

    +
  • A string representation of the optimized query plan.

    +

    Parameters

    Returns string

  • A string representation of the unoptimized query plan.

    +

    Returns string

  • Drop duplicate rows from this DataFrame. +Note that this fails if there is a column of type List in the DataFrame.

    +

    Parameters

    • OptionalmaintainOrder: boolean
    • Optionalsubset: ColumnSelection

      subset to drop duplicates for

      +
    • Optionalkeep: "first" | "last"

      "first" | "last"

      +

    Returns LazyDataFrame

    0.4.0

    +

    unique

    +
  • Parameters

    • opts: {
          keep?: "first" | "last";
          maintainOrder?: boolean;
          subset?: ColumnSelection;
      }
      • Optionalkeep?: "first" | "last"
      • OptionalmaintainOrder?: boolean
      • Optionalsubset?: ColumnSelection

    Returns LazyDataFrame

  • Fetch is like a collect operation, but it overwrites the number of rows read by every scan

    +

    Note that the fetch does not guarantee the final number of rows in the DataFrame. +Filter, join operations and a lower number of rows available in the scanned file influence +the final number of rows.

    +

    Parameters

    • OptionalnumRows: number

      collect 'n' number of rows from data source

      +

    Returns Promise<pl.DataFrame>

  • Parameters

    Returns Promise<pl.DataFrame>

  • Filter the rows in the DataFrame based on a predicate expression.

    +

    Parameters

    • predicate: string | pl.Expr

      Expression that evaluates to a boolean Series.

      +

    Returns LazyDataFrame

    > lf = pl.DataFrame({
    > "foo": [1, 2, 3],
    > "bar": [6, 7, 8],
    > "ham": ['a', 'b', 'c']
    > }).lazy()
    > // Filter on one condition
    > lf.filter(pl.col("foo").lt(3)).collect()
    shape: (2, 3)
    ┌─────┬─────┬─────┐
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16a
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    27b
    └─────┴─────┴─────┘ +
    + +
  • Start a groupby operation.

    +

    Parameters

    • by: ColumnsOrExpr
    • OptionalmaintainOrder: boolean

    Returns LazyGroupBy

  • Parameters

    • by: ColumnsOrExpr
    • opts: {
          maintainOrder: boolean;
      }
      • maintainOrder: boolean

    Returns LazyGroupBy

  • Groups based on a time value (or index value of type Int32, Int64). Time windows are calculated and rows are assigned to windows. +Different from a normal groupby is that a row can be member of multiple groups. The time/index window could +be seen as a rolling window, with a window size determined by dates/times/values instead of slots in the DataFrame.

    +

    A window is defined by:

    +
      +
    • every: interval of the window
    • +
    • period: length of the window
    • +
    • offset: offset of the window
    • +
    +

    The every, period and offset arguments are created with +the following string language:

    +
      +
    • 1ns (1 nanosecond)
    • +
    • 1us (1 microsecond)
    • +
    • 1ms (1 millisecond)
    • +
    • 1s (1 second)
    • +
    • 1m (1 minute)
    • +
    • 1h (1 hour)
    • +
    • 1d (1 day)
    • +
    • 1w (1 week)
    • +
    • 1mo (1 calendar month)
    • +
    • 1y (1 calendar year)
    • +
    • 1i (1 index count)
    • +
    +

    Or combine them: +"3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds

    +

    In case of a groupbyDynamic on an integer column, the windows are defined by:

    +
      +
    • "1i" # length 1
    • +
    • "10i" # length 10
    • +
    +

    Parameters

    • options: {
          by?: ColumnsOrExpr;
          check_sorted?: boolean;
          closed?:
              | "none"
              | "left"
              | "right"
              | "both";
          every: string;
          includeBoundaries?: boolean;
          indexColumn: string;
          offset?: string;
          period?: string;
          start_by: StartBy;
      }
      • Optionalby?: ColumnsOrExpr
      • Optionalcheck_sorted?: boolean
      • Optionalclosed?:
            | "none"
            | "left"
            | "right"
            | "both"
      • every: string
      • OptionalincludeBoundaries?: boolean
      • indexColumn: string
      • Optionaloffset?: string
      • Optionalperiod?: string
      • start_by: StartBy

    Returns LazyGroupBy

  • Create rolling groups based on a time column (or index value of type Int32, Int64).

    +

    Different from a rolling groupby the windows are now determined by the individual values and are not of constant +intervals. For constant intervals use groupByDynamic

    +

    The period and offset arguments are created with +the following string language:

    +
      +
    • 1ns (1 nanosecond)
    • +
    • 1us (1 microsecond)
    • +
    • 1ms (1 millisecond)
    • +
    • 1s (1 second)
    • +
    • 1m (1 minute)
    • +
    • 1h (1 hour)
    • +
    • 1d (1 day)
    • +
    • 1w (1 week)
    • +
    • 1mo (1 calendar month)
    • +
    • 1y (1 calendar year)
    • +
    • 1i (1 index count)
    • +
    +

    Or combine them: +"3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds

    +

    In case of a groupby_rolling on an integer column, the windows are defined by:

    +
      +
    • "1i" # length 1
    • +
    • "10i" # length 10
    • +
    +

    Parameters

    • opts: {
          by?: ColumnsOrExpr;
          check_sorted?: boolean;
          closed?:
              | "none"
              | "left"
              | "right"
              | "both";
          indexColumn: ColumnsOrExpr;
          offset?: string;
          period: string;
      }
      • Optionalby?: ColumnsOrExpr
      • Optionalcheck_sorted?: boolean
      • Optionalclosed?:
            | "none"
            | "left"
            | "right"
            | "both"
      • indexColumn: ColumnsOrExpr
      • Optionaloffset?: string
      • period: string

    Returns LazyGroupBy


    >dates = [
    ... "2020-01-01 13:45:48",
    ... "2020-01-01 16:42:13",
    ... "2020-01-01 16:45:09",
    ... "2020-01-02 18:12:48",
    ... "2020-01-03 19:45:32",
    ... "2020-01-08 23:16:43",
    ... ]
    >df = pl.DataFrame({"dt": dates, "a": [3, 7, 5, 9, 2, 1]}).withColumn(
    ... pl.col("dt").str.strptime(pl.Datetime)
    ... )
    >out = df.groupbyRolling({indexColumn:"dt", period:"2d"}).agg(
    ... [
    ... pl.sum("a").alias("sum_a"),
    ... pl.min("a").alias("min_a"),
    ... pl.max("a").alias("max_a"),
    ... ]
    ... )
    >assert(out["sum_a"].toArray() === [3, 10, 15, 24, 11, 1])
    >assert(out["max_a"].toArray() === [3, 7, 7, 9, 9, 1])
    >assert(out["min_a"].toArray() === [3, 3, 3, 3, 2, 1])
    >out
    shape: (6, 4)
    ┌─────────────────────┬───────┬───────┬───────┐
    dta_suma_maxa_min
    │ --- ┆ --- ┆ --- ┆ --- │
    datetime[ms] ┆ i64i64i64
    ╞═════════════════════╪═══════╪═══════╪═══════╡
    2020-01-01 13:45:48333
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-01 16:42:131073
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-01 16:45:091573
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-02 18:12:482493
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-03 19:45:321192
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    2020-01-08 23:16:43111
    └─────────────────────┴───────┴───────┴───────┘ +
    + +
  • Gets the first n rows of the DataFrame. You probably don't want to use this!

    +

    Consider using the fetch operation. +The fetch operation will truly load the first nrows lazily.

    +

    Parameters

    • Optionallength: number

    Returns LazyDataFrame

  • SQL like joins.

    +

    Parameters

    Returns LazyDataFrame

    LazyJoinOptions

    +
    >>> const df = pl.DataFrame({
    >>> foo: [1, 2, 3],
    >>> bar: [6.0, 7.0, 8.0],
    >>> ham: ['a', 'b', 'c'],
    >>> }).lazy()
    >>>
    >>> const otherDF = pl.DataFrame({
    >>> apple: ['x', 'y', 'z'],
    >>> ham: ['a', 'b', 'd'],
    >>> }).lazy();
    >>> const result = await df.join(otherDF, { on: 'ham', how: 'inner' }).collect();
    shape: (2, 4)
    ╭─────┬─────┬─────┬───────╮
    foobarhamapple
    │ --- ┆ --- ┆ --- ┆ --- │
    i64f64strstr
    ╞═════╪═════╪═════╪═══════╡
    16"a""x"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    27"b""y"
    ╰─────┴─────┴─────┴───────╯ +
    + +
  • Parameters

    Returns LazyDataFrame

  • Parameters

    • other: LazyDataFrame
    • options: {
          allowParallel?: boolean;
          forceParallel?: boolean;
          how: "cross";
          suffix?: string;
      }
      • OptionalallowParallel?: boolean
      • OptionalforceParallel?: boolean
      • how: "cross"
      • Optionalsuffix?: string

    Returns LazyDataFrame

  • Perform an asof join. This is similar to a left-join except that we +match on nearest key rather than equal keys.

    +

    Both DataFrames must be sorted by the asof_join key.

    +

    For each row in the left DataFrame:

    +
      +
    • +

      A "backward" search selects the last row in the right DataFrame whose +'on' key is less than or equal to the left's key.

      +
    • +
    • +

      A "forward" search selects the first row in the right DataFrame whose +'on' key is greater than or equal to the left's key.

      +
    • +
    +

    The default is "backward".

    +

    Parameters

    • other: LazyDataFrame

      DataFrame to join with.

      +
    • options: {
          allowParallel?: boolean;
          by?: string | string[];
          byLeft?: string | string[];
          byRight?: string | string[];
          forceParallel?: boolean;
          leftOn?: string;
          on?: string;
          rightOn?: string;
          strategy?: "backward" | "forward";
          suffix?: string;
          tolerance?: string | number;
      }
      • OptionalallowParallel?: boolean

        Allow the physical plan to optionally evaluate the computation of both DataFrames up to the join in parallel.

        +
      • Optionalby?: string | string[]
      • OptionalbyLeft?: string | string[]

        join on these columns before doing asof join

        +
      • OptionalbyRight?: string | string[]

        join on these columns before doing asof join

        +
      • OptionalforceParallel?: boolean

        Force the physical plan to evaluate the computation of both DataFrames up to the join in parallel.

        +
      • OptionalleftOn?: string

        Join column of the left DataFrame.

        +
      • Optionalon?: string

        Join column of both DataFrames. If set, leftOn and rightOn should be undefined.

        +
      • OptionalrightOn?: string

        Join column of the right DataFrame.

        +
      • Optionalstrategy?: "backward" | "forward"

        One of {'forward', 'backward'}

        +
      • Optionalsuffix?: string

        Suffix to append to columns with a duplicate name.

        +
      • Optionaltolerance?: string | number

        Numeric tolerance. By setting this the join will only be done if the near keys are within this distance. +If an asof join is done on columns of dtype "Date", "Datetime" you +use the following string language:

        +
          +
        • 1ns (1 nanosecond)
        • +
        • 1us (1 microsecond)
        • +
        • 1ms (1 millisecond)
        • +
        • 1s (1 second)
        • +
        • 1m (1 minute)
        • +
        • 1h (1 hour)
        • +
        • 1d (1 day)
        • +
        • 1w (1 week)
        • +
        • 1mo (1 calendar month)
        • +
        • 1y (1 calendar year)
        • +
        • 1i (1 index count)
        • +
        +

        Or combine them:

        +
          +
        • "3d12h4m25s" # 3 days, 12 hours, 4 minutes, and 25 seconds
        • +
        +

    Returns LazyDataFrame

     >const gdp = pl.DataFrame({
    ... date: [
    ... new Date('2016-01-01'),
    ... new Date('2017-01-01'),
    ... new Date('2018-01-01'),
    ... new Date('2019-01-01'),
    ... ], // note record date: Jan 1st (sorted!)
    ... gdp: [4164, 4411, 4566, 4696],
    ... })
    >const population = pl.DataFrame({
    ... date: [
    ... new Date('2016-05-12'),
    ... new Date('2017-05-12'),
    ... new Date('2018-05-12'),
    ... new Date('2019-05-12'),
    ... ], // note record date: May 12th (sorted!)
    ... "population": [82.19, 82.66, 83.12, 83.52],
    ... })
    >population.joinAsof(
    ... gdp,
    ... {leftOn:"date", rightOn:"date", strategy:"backward"}
    ... )
    shape: (4, 3)
    ┌─────────────────────┬────────────┬──────┐
    datepopulationgdp
    │ --- ┆ --- ┆ --- │
    datetimes] ┆ f64i64
    ╞═════════════════════╪════════════╪══════╡
    2016-05-12 00:00:0082.194164
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2017-05-12 00:00:0082.664411
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2018-05-12 00:00:0083.124566
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌┤
    2019-05-12 00:00:0083.524696
    └─────────────────────┴────────────┴──────┘ +
    + +
  • Serializes object to desired format via serde

    +

    Parameters

    Returns Buffer

  • Evaluate the query in streaming mode and write to a CSV file.

    +

    .. warning:: +Streaming mode is considered unstable. It may be changed +at any point without it being considered a breaking change.

    +

    This allows streaming results that are larger than RAM to be written to disk.

    +

    Parameters

    • path: string

      File path to which the file should be written.

      +
    • Optionaloptions: SinkCsvOptions

    Returns void

  • Evaluate the query in streaming mode and write to a Parquet file.

    +

    .. warning:: +Streaming mode is considered unstable. It may be changed +at any point without it being considered a breaking change.

    +

    This allows streaming results that are larger than RAM to be written to disk.

    +

    Parameters

    • path: string

      File path to which the file should be written.

      +
    • Optionaloptions: SinkParquetOptions

    Returns void

  • Parameters

    • by: ColumnsOrExpr
    • Optionaldescending: ValueOrArray<boolean>
    • Optionalnulls_last: boolean
    • Optionalmaintain_order: boolean

    Returns LazyDataFrame

  • Parameters

    • opts: {
          by: ColumnsOrExpr;
          descending?: ValueOrArray<boolean>;
          maintain_order?: boolean;
          nulls_last?: boolean;
      }
      • by: ColumnsOrExpr
      • Optionaldescending?: ValueOrArray<boolean>
      • Optionalmaintain_order?: boolean
      • Optionalnulls_last?: boolean

    Returns LazyDataFrame

  • Drop duplicate rows from this DataFrame. +Note that this fails if there is a column of type List in the DataFrame.

    +

    Parameters

    • OptionalmaintainOrder: boolean
    • Optionalsubset: ColumnSelection

      subset to drop duplicates for

      +
    • Optionalkeep: "first" | "last"

      "first" | "last"

      +

    Returns LazyDataFrame

  • Parameters

    • opts: {
          keep?: "first" | "last";
          maintainOrder?: boolean;
          subset?: ColumnSelection;
      }
      • Optionalkeep?: "first" | "last"
      • OptionalmaintainOrder?: boolean
      • Optionalsubset?: ColumnSelection

    Returns LazyDataFrame

diff --git a/interfaces/pl.Series-1.html b/interfaces/pl.Series-1.html new file mode 100644 index 00000000..d15f0a85 --- /dev/null +++ b/interfaces/pl.Series-1.html @@ -0,0 +1,586 @@ +Series | nodejs-polars

Interface Series<T>

A Series represents a single column in a polars DataFrame.

+
interface Series<T> {
    [inspect](): string;
    [iterator](): IterableIterator<DTypeToJs<T>>;
    abs(): pl.Series<T>;
    add(other: any): pl.Series<T>;
    alias(name: string): pl.Series<T>;
    append(other: pl.Series<any>): void;
    argMax(): Optional<number>;
    argMin(): Optional<number>;
    argSort(): pl.Series<T>;
    argSort(reverse: boolean): pl.Series<T>;
    argSort(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    argTrue(): pl.Series<T>;
    argUnique(): pl.Series<T>;
    as(name: string): pl.Series<T>;
    bitand(other: pl.Series<T>): pl.Series<T>;
    bitor(other: pl.Series<T>): pl.Series<T>;
    bitxor(other: pl.Series<T>): pl.Series<T>;
    cast<U>(dtype: U, strict?: boolean): pl.Series<U>;
    ceil(): pl.Series<T>;
    chunkLengths(): T[];
    clip(min: number, max: number): pl.Series<T>;
    clip(options: {
        max: number;
        min: number;
    }): any;
    clone(): pl.Series<T>;
    concat(other: pl.Series<T>): pl.Series<T>;
    cumCount(reverse?: boolean): pl.Series<T>;
    cumCount(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    cumMax(reverse?: boolean): pl.Series<T>;
    cumMax(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    cumMin(reverse?: boolean): pl.Series<T>;
    cumMin(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    cumProd(reverse?: boolean): pl.Series<T>;
    cumProd(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    cumSum(reverse?: boolean): pl.Series<T>;
    cumSum(__namedParameters: {
        reverse: boolean;
    }): pl.Series<T>;
    date: SeriesDateFunctions;
    describe(): pl.DataFrame;
    diff(n: number, nullBehavior: "ignore" | "drop"): pl.Series<T>;
    diff(__namedParameters: {
        n: number;
        nullBehavior: "ignore" | "drop";
    }): pl.Series<T>;
    div(other: any): pl.Series<T>;
    divideBy(other: any): pl.Series<T>;
    dot(other: pl.Series<any>): undefined | null | number;
    dropNulls(): pl.Series<T>;
    dtype: T;
    eq(other: any): pl.Series<T>;
    equals(other: any): pl.Series<T>;
    ewmMean(): pl.Series<T>;
    ewmMean(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Series<T>;
    ewmMean(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Series<T>;
    ewmStd(): pl.Series<T>;
    ewmStd(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Series<T>;
    ewmStd(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Series<T>;
    ewmVar(): pl.Series<T>;
    ewmVar(alpha?: number, adjust?: boolean, minPeriods?: number, bias?: boolean, ignoreNulls?: boolean): pl.Series<T>;
    ewmVar(opts: {
        adjust?: boolean;
        alpha?: number;
        bias?: boolean;
        ignoreNulls?: boolean;
        minPeriods?: number;
    }): pl.Series<T>;
    explode(): any;
    extend(value: any, n: number): pl.Series<any>;
    extendConstant(value: any, n: number): pl.Series<any>;
    fillNull(strategy:
        | "backward"
        | "forward"
        | "mean"
        | "min"
        | "max"
        | "zero"
        | "one"): pl.Series<any>;
    fillNull(__namedParameters: {
        strategy:
            | "backward"
            | "forward"
            | "mean"
            | "min"
            | "max"
            | "zero"
            | "one";
    }): pl.Series<any>;
    filter(predicate: pl.Series<any>): pl.Series<any>;
    filter(__namedParameters: {
        predicate: pl.Series<any>;
    }): pl.Series<any>;
    floor(): pl.Series<T>;
    gather(indices: number[]): pl.Series<any>;
    gatherEvery(n: number, offset?: number): pl.Series<any>;
    get(index: number): any;
    getIndex(n: number): any;
    greaterThan(other: any): pl.Series<T>;
    greaterThanEquals(other: any): pl.Series<T>;
    gt(other: any): pl.Series<T>;
    gtEq(other: any): pl.Series<T>;
    hasValidity(): boolean;
    hash(k0?: number | bigint, k1?: number | bigint, k2?: number | bigint, k3?: number | bigint): pl.Series<any>;
    hash(__namedParameters: {
        k0?: number | bigint;
        k1?: number | bigint;
        k2?: number | bigint;
        k3?: number | bigint;
    }): pl.Series<any>;
    head(length?: number): pl.Series<any>;
    inner(): any;
    interpolate(method?: InterpolationMethod): pl.Series<any>;
    isBoolean(): boolean;
    isDateTime(): boolean;
    isDuplicated(): pl.Series<any>;
    isFinite(): pl.Series<any>;
    isFirstDistinct(): pl.Series<any>;
    isFloat(): boolean;
    isIn<U>(other: pl.Series<any> | U[]): pl.Series<any>;
    isInfinite(): pl.Series<any>;
    isNotNull(): pl.Series<any>;
    isNull(): pl.Series<any>;
    isNumeric(): boolean;
    isString(): boolean;
    isUnique(): pl.Series<any>;
    isUtf8(): boolean;
    kurtosis(): Optional<number>;
    kurtosis(fisher: boolean, bias?: boolean): Optional<number>;
    kurtosis(__namedParameters: {
        bias?: boolean;
        fisher?: boolean;
    }): Optional<number>;
    len(): number;
    lessThan(other: any): pl.Series<T>;
    lessThanEquals(other: any): pl.Series<T>;
    limit(n?: number): pl.Series<any>;
    lst: ListNamespace;
    lt(other: any): pl.Series<T>;
    ltEq(other: any): pl.Series<T>;
    max(): number;
    mean(): number;
    median(): number;
    min(): number;
    minus(other: any): pl.Series<T>;
    mode(): pl.Series<any>;
    modulo(other: any): pl.Series<T>;
    mul(other: any): pl.Series<T>;
    multiplyBy(other: any): pl.Series<T>;
    nChunks(): number;
    nUnique(): number;
    name: string;
    neq(other: any): pl.Series<T>;
    notEquals(other: any): pl.Series<T>;
    nullCount(): number;
    peakMax(): pl.Series<any>;
    peakMin(): pl.Series<any>;
    plus(other: any): pl.Series<T>;
    quantile(quantile: number, interpolation?: string): number;
    rank(method?: RankMethod): pl.Series<any>;
    rechunk(): pl.Series<any>;
    rechunk(inPlace: true): pl.Series<any>;
    rechunk(inPlace: false): void;
    reinterpret(signed?: boolean): pl.Series<any>;
    rem(other: any): pl.Series<T>;
    rename(name: string): pl.Series<any>;
    rename(name: string, inPlace: boolean): void;
    rename(__namedParameters: {
        inPlace?: boolean;
        name: string;
    }): void;
    rename(__namedParameters: {
        inPlace: true;
        name: string;
    }): void;
    rollingMax(options: RollingOptions): pl.Series<T>;
    rollingMax(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Series<T>;
    rollingMean(options: RollingOptions): pl.Series<T>;
    rollingMean(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Series<T>;
    rollingMedian(options: RollingOptions): pl.Series<T>;
    rollingMedian(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Series<T>;
    rollingMin(options: RollingOptions): pl.Series<T>;
    rollingMin(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Series<T>;
    rollingQuantile(options: RollingQuantileOptions): pl.Series<T>;
    rollingQuantile(quantile: number, interpolation?: InterpolationMethod, windowSize?: number, weights?: number[], minPeriods?: number[], center?: boolean, by?: string, closed?: ClosedWindow): pl.Series<T>;
    rollingSkew(windowSize: number, bias?: boolean): pl.Series<T>;
    rollingSkew(options: RollingSkewOptions): pl.Series<T>;
    rollingStd(options: RollingOptions): pl.Series<T>;
    rollingStd(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean, ddof?: number): pl.Series<T>;
    rollingSum(options: RollingOptions): pl.Series<T>;
    rollingSum(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean): pl.Series<T>;
    rollingVar(options: RollingOptions): pl.Series<T>;
    rollingVar(windowSize: number, weights?: number[], minPeriods?: number[], center?: boolean, ddof?: number): pl.Series<T>;
    round(decimals: number): pl.Series<T>;
    round(options: {
        decimals: number;
    }): pl.Series<T>;
    sample(opts?: {
        n: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.Series<T>;
    sample(opts?: {
        frac: number;
        seed?: number | bigint;
        withReplacement?: boolean;
    }): pl.Series<T>;
    sample(n?: number, frac?: number, withReplacement?: boolean, seed?: number | bigint): pl.Series<T>;
    scatter(indices: number[] | pl.Series<any>, value: any): void;
    serialize(format: "json" | "bincode"): Buffer;
    seriesEqual<U1>(other: pl.Series<any>, nullEqual?: boolean, strict?: boolean): boolean;
    set(filter: pl.Series<any>, value: any): pl.Series<any>;
    setAtIdx(indices: number[] | pl.Series<any>, value: any): void;
    shift(periods: number): pl.Series<any>;
    shiftAndFill(periods: number, fillValue: number): pl.Series<any>;
    shiftAndFill(args: {
        fillValue: number;
        periods: number;
    }): pl.Series<any>;
    shrinkToFit(): pl.Series<any>;
    shrinkToFit(inPlace: true): void;
    skew(bias?: boolean): undefined | number;
    slice(start: number, length?: number): pl.Series<any>;
    sort(): pl.Series<any>;
    sort(options: {
        descending?: boolean;
        nullsLast?: boolean;
    }): pl.Series<any>;
    str: StringNamespace;
    struct: SeriesStructFunctions;
    sub(other: any): pl.Series<T>;
    sum(): number;
    tail(length?: number): pl.Series<any>;
    toArray(): DTypeToJs<T>[];
    toDummies(separator?: string, dropFirst?: boolean): pl.DataFrame;
    toFrame(): pl.DataFrame;
    toJSON(): string;
    toObject(): {
        datatype: DtypeToJsName<T>;
        name: string;
        values: DTypeToJs<T>[];
    };
    toTypedArray(): any;
    unique(maintainOrder?: boolean | {
        maintainOrder: boolean;
    }): pl.Series<any>;
    valueCounts(sort?: boolean, parallel?: boolean, name?: string, normalize?: boolean): pl.DataFrame;
    values(): IterableIterator<any>;
    zipWith(mask: pl.Series<any>, other: pl.Series<any>): pl.Series<any>;
}

Type Parameters

Hierarchy

Properties

date: SeriesDateFunctions
dtype: T
lst: ListNamespace
name: string
str: StringNamespace
struct: SeriesStructFunctions

Methods - Arithmetic

Methods - Comparison

  • Compare self to other: self >= other

    +

    Parameters

    • other: any

    Returns pl.Series<T>

Methods - Cumulative

  • Get an array with the cumulative count computed at every element.

    +

    Parameters

    • Optionalreverse: boolean

    Returns pl.Series<T>

  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Series<T>

  • Get an array with the cumulative max computes at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Series<T>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumMax()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    2
    3
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Series<T>

  • Get an array with the cumulative min computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Series<T>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumMin()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    1
    1
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Series<T>

  • Get an array with the cumulative product computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Series<T>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumProd()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    2
    6
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Series<T>

  • Get an array with the cumulative sum computed at every element.

    +
    +

    Parameters

    • Optionalreverse: boolean

      reverse the operation

      +

    Returns pl.Series<T>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.cumSum()
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    3
    6
    ] +
    + +
  • Parameters

    • __namedParameters: {
          reverse: boolean;
      }
      • reverse: boolean

    Returns pl.Series<T>

Methods - Math

  • Ceil underlying floating point array to the highest integers smaller or equal to the float value. +Only works on floating point Series

    +

    Returns pl.Series<T>

  • Clip (limit) the values in an array to any value that fits in 64 floating point range. +Only works for the following dtypes: {Int32, Int64, Float32, Float64, UInt32}. +If you want to clip other dtypes, consider writing a when -> then -> otherwise expression

    +

    Parameters

    • min: number

      Minimum value

      +
    • max: number

      Maximum value

      +

    Returns pl.Series<T>

  • Parameters

    • options: {
          max: number;
          min: number;
      }
      • max: number
      • min: number

    Returns any

  • Floor underlying floating point array to the lowest integers smaller or equal to the float value. +Only works on floating point Series

    +

    Returns pl.Series<T>

  • Round underlying floating point data by decimals digits.

    +

    Similar functionality to javascript toFixed

    +

    Parameters

    • decimals: number

      number of decimals to round by.

      +

    Returns pl.Series<T>

  • Parameters

    • options: {
          decimals: number;
      }
      • decimals: number

    Returns pl.Series<T>

  • Sample from this DataFrame by setting either n or frac.

    +

    Parameters

    • Optionalopts: {
          n: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • n: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.Series<T>

    > df = pl.DataFrame({
    > "foo": [1, 2, 3],
    > "bar": [6, 7, 8],
    > "ham": ['a', 'b', 'c']
    > })
    > df.sample({n: 2})
    shape: (2, 3)
    ╭─────┬─────┬─────╮
    foobarham
    │ --- ┆ --- ┆ --- │
    i64i64str
    ╞═════╪═════╪═════╡
    16"a"
    ├╌╌╌╌╌┼╌╌╌╌╌┼╌╌╌╌╌┤
    38"c"
    ╰─────┴─────┴─────╯ +
    + +
  • Parameters

    • Optionalopts: {
          frac: number;
          seed?: number | bigint;
          withReplacement?: boolean;
      }
      • frac: number
      • Optionalseed?: number | bigint
      • OptionalwithReplacement?: boolean

    Returns pl.Series<T>

  • Parameters

    • Optionaln: number
    • Optionalfrac: number
    • OptionalwithReplacement: boolean
    • Optionalseed: number | bigint

    Returns pl.Series<T>

Methods - Other

  • Returns IterableIterator<DTypeToJs<T>>

  • Append a Series to this one.

    +
    +

    Parameters

    • other: pl.Series<any>

      Series to append.

      +

    Returns void

    >  const s = pl.Series("a", [1, 2, 3])
    > const s2 = pl.Series("b", [4, 5, 6])
    > s.append(s2)
    shape: (6,)
    Series: 'a' [i64]
    [
    1
    2
    3
    4
    5
    6
    ] +
    + +
  • Get the index of the maximal value.

    +

    Returns Optional<number>

  • Get the index of the minimal value.

    +

    Returns Optional<number>

  • __Quick summary statistics of a series. __

    +

    Series with mixed datatypes will return summary statistics for the datatype of the first value.

    +
    +

    Returns pl.DataFrame

    >  const seriesNum = pl.Series([1,2,3,4,5])
    > series_num.describe()

    shape: (6, 2)
    ┌──────────────┬────────────────────┐
    statisticvalue
    │ --- ┆ --- │
    strf64
    ╞══════════════╪════════════════════╡
    "min"1
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    "max"5
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    "null_count"0.0
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    "mean"3
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    "std"1.5811388300841898
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌┤
    "count"5
    └──────────────┴────────────────────┘

    > series_str = pl.Series(["a", "a", None, "b", "c"])
    > series_str.describe()

    shape: (3, 2)
    ┌──────────────┬───────┐
    statisticvalue
    │ --- ┆ --- │
    stri64
    ╞══════════════╪═══════╡
    "unique"4
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    "null_count"1
    ├╌╌╌╌╌╌╌╌╌╌╌╌╌╌┼╌╌╌╌╌╌╌┤
    "count"5
    └──────────────┴───────┘ +
    + +
  • Calculates the n-th discrete difference.

    +

    Parameters

    • n: number

      number of slots to shift

      +
    • nullBehavior: "ignore" | "drop"

      'ignore' | 'drop'

      +

    Returns pl.Series<T>

  • Parameters

    • __namedParameters: {
          n: number;
          nullBehavior: "ignore" | "drop";
      }
      • n: number
      • nullBehavior: "ignore" | "drop"

    Returns pl.Series<T>

  • Compute the dot/inner product between two Series

    +
    +

    Parameters

    Returns undefined | null | number

    >  const s = pl.Series("a", [1, 2, 3])
    > const s2 = pl.Series("b", [4.0, 5.0, 6.0])
    > s.dot(s2)
    32.0 +
    + +
  • Exponentially-weighted moving average.

    +

    Returns pl.Series<T>

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmMean())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    1.0
    1.666667
    2.428571
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Series<T>

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Series<T>

  • Exponentially-weighted standard deviation.

    +

    Returns pl.Series<T>

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmStd())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    0.0
    0.707107
    0.963624
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Series<T>

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Series<T>

  • Exponentially-weighted variance.

    +

    Returns pl.Series<T>

    Expr that evaluates to a float 64 Series.

    +
    > const df = pl.DataFrame({a: [1, 2, 3]});
    > df.select(pl.col("a").ewmVar())
    shape: (3, 1)
    ┌──────────┐
    a
    | --- │
    f64
    ╞══════════╡
    0.0
    0.5
    0.928571
    └──────────┘ +
    + +
  • Parameters

    • Optionalalpha: number
    • Optionaladjust: boolean
    • OptionalminPeriods: number
    • Optionalbias: boolean
    • OptionalignoreNulls: boolean

    Returns pl.Series<T>

  • Parameters

    • opts: {
          adjust?: boolean;
          alpha?: number;
          bias?: boolean;
          ignoreNulls?: boolean;
          minPeriods?: number;
      }
      • Optionaladjust?: boolean
      • Optionalalpha?: number
      • Optionalbias?: boolean
      • OptionalignoreNulls?: boolean
      • OptionalminPeriods?: number

    Returns pl.Series<T>

  • Explode a list or utf8 Series.

    +

    This means that every item is expanded to a new row.

    +
    +

    Returns any

    >  const s = pl.Series('a', [[1, 2], [3, 4], [9, 10]])
    > s.explode()
    shape: (6,)
    Series: 'a' [i64]
    [
    1
    2
    3
    4
    9
    10
    ] +
    + +
  • Extend the Series with given number of values.

    +

    Parameters

    • value: any

      The value to extend the Series with. This value may be null to fill with nulls.

      +
    • n: number

      The number of values to extend.

      +

    Returns pl.Series<any>

    extendConstant

    +
  • Extend the Series with given number of values.

    +

    Parameters

    • value: any

      The value to extend the Series with. This value may be null to fill with nulls.

      +
    • n: number

      The number of values to extend.

      +

    Returns pl.Series<any>

  • Fill null values with a filling strategy.

    +
    +

    Parameters

    • strategy:
          | "backward"
          | "forward"
          | "mean"
          | "min"
          | "max"
          | "zero"
          | "one"

      Filling Strategy

      +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, 3, None])
    > s.fill_null('forward'))
    shape: (4,)
    Series: '' [i64]
    [
    1
    2
    3
    3
    ]
    > s.fill_null('min'))
    shape: (4,)
    Series: 'a' [i64]
    [
    1
    2
    3
    1
    ] +
    + +
  • Parameters

    • __namedParameters: {
          strategy:
              | "backward"
              | "forward"
              | "mean"
              | "min"
              | "max"
              | "zero"
              | "one";
      }
      • strategy:
            | "backward"
            | "forward"
            | "mean"
            | "min"
            | "max"
            | "zero"
            | "one"

    Returns pl.Series<any>

  • Take values by index.

    +
    +

    Parameters

    • indices: number[]

      Index location used for the selection

      +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 3, 4])
    s.gather([1, 3])
    shape: (2,)
    Series: 'a' [i64]
    [
    2
    4
    ] +
    + +
  • Take every nth value in the Series and return as new Series.

    +

    Parameters

    • n: number

      Gather every n-th row

      +
    • Optionaloffset: number

      Start the row count at this offset

      +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 3, 4])
    s.gatherEvery(2))
    shape: (2,)
    Series: 'a' [i64]
    [
    1
    3
    ]
    s.gather_every(2, offset=1)
    shape: (2,)
    Series: 'a' [i64]
    [
    2
    4
    ] +
    + +
  • Returns True if the Series has a validity bitmask. +If there is none, it means that there are no null values.

    +

    Returns boolean

  • Hash the Series +The hash value is of type UInt64

    +
    +

    Parameters

    • Optionalk0: number | bigint

      seed parameter

      +
    • Optionalk1: number | bigint

      seed parameter

      +
    • Optionalk2: number | bigint

      seed parameter

      +
    • Optionalk3: number | bigint

      seed parameter

      +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.hash(42)
    shape: (3,)
    Series: 'a' [u64]
    [
    7499844439152382372
    821952831504499201
    6685218033491627602
    ] +
    + +
  • Parameters

    • __namedParameters: {
          k0?: number | bigint;
          k1?: number | bigint;
          k2?: number | bigint;
          k3?: number | bigint;
      }
      • Optionalk0?: number | bigint
      • Optionalk1?: number | bigint
      • Optionalk2?: number | bigint
      • Optionalk3?: number | bigint

    Returns pl.Series<any>

  • Get first N elements as Series.

    +
    +

    Parameters

    • Optionallength: number

      Length of the head

      +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, 3])
    > s.head(2)
    shape: (2,)
    Series: 'a' [i64]
    [
    1
    2
    ] +
    + +
  • Interpolate intermediate values.

    +

    The interpolation method is linear.

    +
    +

    Parameters

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, None, None, 5])
    > s.interpolate()
    shape: (5,)
    Series: 'a' [i64]
    [
    1
    2
    3
    4
    5
    ] +
    + +
  • Check if this Series is a Boolean.

    +

    Returns boolean

  • Check if this Series is a DataTime.

    +

    Returns boolean

  • Get mask of all duplicated values.

    +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, 2, 3])
    > s.isDuplicated()

    shape: (4,)
    Series: 'a' [bool]
    [
    false
    true
    true
    false
    ] +
    + +
  • Check if this Series is a Float.

    +

    Returns boolean

  • Check if elements of this Series are in the right Series, or List values of the right Series.

    +

    Type Parameters

    • U

    Parameters

    Returns pl.Series<any>

  • Get mask of infinite values if Series dtype is Float.

    +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1.0, 2.0, 3.0])
    > s.isInfinite()

    shape: (3,)
    Series: 'a' [bool]
    [
    false
    false
    false
    ] +
    + +
  • Get mask of non null values.

    +

    undefined values are treated as null

    +
    +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1.0, undefined, 2.0, 3.0, null])
    > s.isNotNull()
    shape: (5,)
    Series: 'a' [bool]
    [
    true
    false
    true
    true
    false
    ] +
    + +
  • Get mask of null values.

    +

    undefined values are treated as null

    +
    +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1.0, undefined, 2.0, 3.0, null])
    > s.isNull()
    shape: (5,)
    Series: 'a' [bool]
    [
    false
    true
    false
    false
    true
    ] +
    + +
  • Check if this Series datatype is numeric.

    +

    Returns boolean

  • Checks if this Series datatype is a String.

    +

    Returns boolean

  • Get mask of unique values.

    +
    +

    Returns pl.Series<any>

    >  const s = pl.Series("a", [1, 2, 2, 3])
    > s.isUnique()
    shape: (4,)
    Series: 'a' [bool]
    [
    true
    false
    false
    true
    ] +
    + +
  • Checks if this Series datatype is a Utf8.

    +

    Returns boolean

    since 0.8.4

    +

    Use Series.dtype.equals(pl.String) instead.

    +
  • Compute the kurtosis (Fisher or Pearson) of a dataset.

    +

    Kurtosis is the fourth central moment divided by the square of the +variance. If Fisher's definition is used, then 3.0 is subtracted from +the result to give 0.0 for a normal distribution. +If bias is False then the kurtosis is calculated using k statistics to +eliminate bias coming from biased moment estimators

    +
    +

    Returns Optional<number>

  • Parameters

    • fisher: boolean
    • Optionalbias: boolean

    Returns Optional<number>

  • Parameters

    • __namedParameters: {
          bias?: boolean;
          fisher?: boolean;
      }
      • Optionalbias?: boolean
      • Optionalfisher?: boolean

    Returns Optional<number>

  • Length of this Series.

    +
    +

    Returns number

    >  const s = pl.Series("a", [1, 2, 3])
    > s.len()
    3 +
    + +
  • Take n elements from this Series.

    +
    +

    Parameters

    • Optionaln: number

      Amount of elements to take.

      +

    Returns pl.Series<any>

    head

    +
    s = pl.Series("a", [1, 2, 3])
    s.limit(2)
    shape: (2,)
    Series: 'a' [i64]
    [
    1
    2
    ] +
    + +
  • Get the maximum value in this Series.

    +

    Returns number

    > s = pl.Series("a", [1, 2, 3])
    > s.max()
    3 +
    + +
  • Reduce this Series to the mean value.

    +

    Returns number

    > s = pl.Series("a", [1, 2, 3])
    > s.mean()
    2 +
    + +
  • Get the median of this Series

    +

    Returns number

    > s = pl.Series("a", [1, 2, 3])
    > s.median()
    2 +
    + +
  • Get the minimal value in this Series.

    +

    Returns number

    > s = pl.Series("a", [1, 2, 3])
    > s.min()
    1 +
    + +
  • Compute the most occurring value(s). Can return multiple Values

    +
    +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 2, 3])
    s.mode()
    shape: (1,)
    Series: 'a' [i64]
    [
    2
    ]

    s = pl.Series("a", ['a', 'b', 'c', 'c', 'b'])
    s.mode()
    shape: (1,)
    Series: 'a' [str]
    [
    'b'
    'c'
    ] +
    + +
  • Get the number of chunks that this Series contains.

    +

    Returns number

  • Count the number of unique values in this Series.

    +
    +

    Returns number

    s = pl.Series("a", [1, 2, 2, 3])
    s.nUnique()
    3 +
    + +
  • Count the null values in this Series. -- +undefined values are treated as null

    +

    Returns number

  • Get a boolean mask of the local maximum peaks.

    +
    +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 3, 4, 5])
    s.peakMax()
    shape: (5,)
    Series: '' [bool]
    [
    false
    false
    false
    false
    true
    ] +
    + +
  • Get a boolean mask of the local minimum peaks.

    +
    +

    Returns pl.Series<any>

    s = pl.Series("a", [4, 1, 3, 2, 5])
    s.peakMin()
    shape: (5,)
    Series: '' [bool]
    [
    false
    true
    false
    true
    false
    ] +
    + +
  • Get the quantile value of this Series.

    +
    +

    Parameters

    • quantile: number
    • Optionalinterpolation: string

    Returns number

    s = pl.Series("a", [1, 2, 3])
    s.quantile(0.5)
    2 +
    + +
  • Assign ranks to data, dealing with ties appropriately.

    +

    Parameters

    • Optionalmethod: RankMethod

      The method used to assign ranks to tied elements. +The following methods are available: default is 'average'

      +
        +
      • 'average': The average of the ranks that would have been assigned to +all the tied values is assigned to each value.
      • +
      • 'min': The minimum of the ranks that would have been assigned to all +the tied values is assigned to each value. This is also +referred to as "competition" ranking.
      • +
      • 'max': The maximum of the ranks that would have been assigned to all +the tied values is assigned to each value.
      • +
      • 'dense': Like 'min', but the rank of the next highest element is +assigned the rank immediately after those assigned to the tied +elements.
      • +
      • 'ordinal': All values are given a distinct rank, corresponding to +the order that the values occur in a.
      • +
      • 'random': Like 'ordinal', but the rank for ties is not dependent +on the order that the values occur in a.
      • +
      +

    Returns pl.Series<any>

  • 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.

    +
    +

    Parameters

    • Optionalsigned: boolean

      signed or unsigned

      +
        +
      • True -> pl.Int64
      • +
      • False -> pl.UInt64
      • +
      +

    Returns pl.Series<any>

    cast

    +
  • Rename this Series.

    +

    Parameters

    • name: string

      new name

      +

    Returns pl.Series<any>

    alias

    +
    s = pl.Series("a", [1, 2, 3])
    s.rename('b')
    shape: (3,)
    Series: 'b' [i64]
    [
    1
    2
    3
    ] +
    + +
  • Parameters

    • name: string
    • inPlace: boolean

    Returns void

  • Parameters

    • __namedParameters: {
          inPlace?: boolean;
          name: string;
      }
      • OptionalinPlace?: boolean
      • name: string

    Returns void

  • Parameters

    • __namedParameters: {
          inPlace: true;
          name: string;
      }
      • inPlace: true
      • name: string

    Returns void

  • Serializes object to desired format via serde

    +

    Parameters

    Returns Buffer

  • Check if series is equal with another Series.

    +

    Type Parameters

    • U1

    Parameters

    • other: pl.Series<any>

      Series to compare with.

      +
    • OptionalnullEqual: boolean

      Consider null values as equal. ('undefined' is treated as null)

      +
      +
    • Optionalstrict: boolean

    Returns boolean

    s = pl.Series("a", [1, 2, 3])
    s2 = pl.Series("b", [4, 5, 6])
    s.series_equal(s)
    true
    s.series_equal(s2)
    false +
    + +
  • Set masked values

    +

    Parameters

    • indices: number[] | pl.Series<any>
    • value: any

      value to replace masked values with

      +

    Returns void

    0.8.4

    +

    scatter

    +
  • Shift the values by a given period

    +

    the parts that will be empty due to this operation will be filled with null.

    +
    +

    Parameters

    • periods: number

      Number of places to shift (may be negative).

      +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 3])
    s.shift(1)
    shape: (3,)
    Series: 'a' [i64]
    [
    null
    1
    2
    ]
    s.shift(-1)
    shape: (3,)
    Series: 'a' [i64]
    [
    2
    3
    null
    ] +
    + +
  • Shift the values by a given period

    +

    the parts that will be empty due to this operation will be filled with fillValue.

    +
    +

    Parameters

    • periods: number

      Number of places to shift (may be negative).

      +
    • fillValue: number

      Fill null & undefined values with the result of this expression.

      +

    Returns pl.Series<any>

  • Parameters

    • args: {
          fillValue: number;
          periods: number;
      }
      • fillValue: number
      • periods: number

    Returns pl.Series<any>

  • Compute the sample skewness of a data set.

    +

    For normally distributed data, the skewness should be about zero. For +unimodal continuous distributions, a skewness value greater than zero means +that there is more weight in the right tail of the distribution. The +function skewtest can be used to determine if the skewness value +is close enough to zero, statistically speaking.

    +
    +

    Parameters

    • Optionalbias: boolean

      If false, then the calculations are corrected for statistical bias.

      +

    Returns undefined | number

  • Create subslices of the Series.

    +

    Parameters

    • start: number
    • Optionallength: number

      length of the slice.

      +

    Returns pl.Series<any>

  • Sort this Series.

    +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 3, 4, 2])
    s.sort()
    shape: (4,)
    Series: 'a' [i64]
    [
    1
    2
    3
    4
    ]
    s.sort({descending: true})
    shape: (4,)
    Series: 'a' [i64]
    [
    4
    3
    2
    1
    ] +
    + +
  • Parameters

    • options: {
          descending?: boolean;
          nullsLast?: boolean;
      }
      • Optionaldescending?: boolean
      • OptionalnullsLast?: boolean

    Returns pl.Series<any>

  • Reduce this Series to the sum value.

    +

    Returns number

    > s = pl.Series("a", [1, 2, 3])
    > s.sum()
    6 +
    + +
  • Get last N elements as Series.

    +
    +

    Parameters

    • Optionallength: number

      Length of the tail

      +

    Returns pl.Series<any>

    head

    +
    s = pl.Series("a", [1, 2, 3])
    s.tail(2)
    shape: (2,)
    Series: 'a' [i64]
    [
    2
    3
    ] +
    + +
  • Convert this Series to a Javascript Array.

    +

    This operation clones data, and is very slow, but maintains greater precision for all dtypes. +Often times series.toObject().values is faster, but less precise

    +
    +

    Returns DTypeToJs<T>[]

    const s = pl.Series("a", [1, 2, 3])
    const arr = s.toArray()
    [1, 2, 3]
    Array.isArray(arr)
    true +
    + +
  • Get dummy/indicator variables.

    +

    Parameters

    • Optionalseparator: string
    • OptionaldropFirst: boolean

    Returns pl.DataFrame

    const s = pl.Series("a", [1, 2, 3])
    >>> s.toDummies()
    shape: (3, 3)
    ┌─────┬─────┬─────┐
    a_1a_2a_3
    │ --- ┆ --- ┆ --- │
    u8u8u8
    ╞═════╪═════╪═════╡
    100
    010
    001
    └─────┴─────┴─────┘

    >>> s.toDummies(":", true)
    shape: (3, 2)
    ┌─────┬─────┐
    a:2a:3
    │ --- ┆ --- │
    u8u8
    ╞═════╪═════╡
    00
    10
    01
    └─────┴─────┘ +
    + +
  • Returns a Javascript object representation of Series +Often this is much faster than the iterator, or values method

    +

    Returns {
        datatype: DtypeToJsName<T>;
        name: string;
        values: DTypeToJs<T>[];
    }

    • datatype: DtypeToJsName<T>
    • name: string
    • values: DTypeToJs<T>[]
    const s = pl.Series("foo", [1,2,3])
    s.toObject()
    {
    name: "foo",
    datatype: "Float64",
    values: [1,2,3]
    } +
    + +
  • Converts series to a javascript typedArray.

    +

    Warning: +This will throw an error if you have nulls, or are using non numeric data types

    +

    Returns any

  • Get unique elements in series.

    +
    +

    Parameters

    • OptionalmaintainOrder: boolean | {
          maintainOrder: boolean;
      }

      Maintain order of data. This requires more work.

      +

    Returns pl.Series<any>

    s = pl.Series("a", [1, 2, 2, 3])
    s.unique()
    shape: (3,)
    Series: 'a' [i64]
    [
    1
    2
    3
    ] +
    + +
  • Count the unique values in a Series.

    +

    Parameters

    • Optionalsort: boolean

      Sort the output by count in descending order. +If set to False (default), the order of the output is random.

      +
    • Optionalparallel: boolean

      Execute the computation in parallel. +.. note:: +This option should likely not be enabled in a group by context, +as the computation is already parallelized per group.

      +
    • Optionalname: string

      Give the resulting count column a specific name; +if normalize is True defaults to "count", otherwise defaults to "proportion".

      +
    • Optionalnormalize: boolean

      If true gives relative frequencies of the unique values

      +
      +

    Returns pl.DataFrame

    s = pl.Series("a", [1, 2, 2, 3])
    s.valueCounts()
    shape: (3, 2)
    ╭─────┬────────╮
    acounts
    │ --- ┆ --- │
    i64u32
    ╞═════╪════════╡
    22
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    11
    ├╌╌╌╌╌┼╌╌╌╌╌╌╌╌┤
    31
    ╰─────┴────────╯ +
    + +
  • Returns an iterator over the values

    +

    Returns IterableIterator<any>

  • Where mask evaluates true, take values from self.

    +

    Where mask evaluates false, take values from other.

    +
    +

    Parameters

    Returns pl.Series<any>

Methods - Rolling

  • Apply a rolling max (moving max) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Series<T>

  • Apply a rolling mean (moving mean) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Series<T>

  • Apply a rolling min (moving min) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Series<T>

  • Compute a rolling skew

    +

    Parameters

    • windowSize: number

      Size of the rolling window

      +
    • Optionalbias: boolean

      If false, then the calculations are corrected for statistical bias.

      +

    Returns pl.Series<T>

  • Compute a rolling skew

    +

    Parameters

    Returns pl.Series<T>

  • Compute a rolling std dev

    +

    A window of length window_size will traverse the array. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector. The resulting +values will be aggregated to their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean
    • Optionalddof: number

    Returns pl.Series<T>

  • Apply a rolling sum (moving sum) over the values in this Series.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean

    Returns pl.Series<T>

  • Compute a rolling variance.

    +

    A window of length window_size will traverse the series. The values that fill this window +will (optionally) be multiplied with the weights given by the weight vector.

    +

    The resulting parameters' values will be aggregated into their sum.

    +
    +

    Parameters

    Returns pl.Series<T>

  • Parameters

    • windowSize: number
    • Optionalweights: number[]
    • OptionalminPeriods: number[]
    • Optionalcenter: boolean
    • Optionalddof: number

    Returns pl.Series<T>

diff --git a/modules.html b/modules.html new file mode 100644 index 00000000..5b87b6dd --- /dev/null +++ b/modules.html @@ -0,0 +1,155 @@ +nodejs-polars

nodejs-polars

References

Namespaces

Classes

Interfaces - Options

Interfaces - Other

Type Aliases

Variables

Functions

References

Re-exports DataFrame
Re-exports Expr
Re-exports Field
Re-exports Series
Re-exports allHorizontal
Re-exports anyHorizontal
Re-exports argSortBy
Re-exports avg
Re-exports col
Re-exports cols
Re-exports concat
Re-exports concatList
Re-exports concatString
Re-exports count
Re-exports cov
Renames and re-exports pl
Re-exports element
Re-exports exclude
Re-exports first
Re-exports format
Re-exports groups
Re-exports head
Re-exports intRange
Re-exports intRanges
Re-exports last
Re-exports len
Re-exports list
Re-exports lit
Re-exports maxHorizontal
Re-exports mean
Re-exports median
Re-exports minHorizontal
Re-exports nUnique
Re-exports nth
Re-exports pearsonCorr
Re-exports quantile
Re-exports readAvro
Re-exports readCSV
Re-exports readCSVStream
Re-exports readIPC
Re-exports readIPCStream
Re-exports readJSON
Re-exports readJSONStream
Re-exports readParquet
Re-exports readRecords
Re-exports repeat
Re-exports scanCSV
Re-exports scanIPC
Re-exports scanJson
Re-exports scanParquet
Re-exports select
Re-exports spearmanRankCorr
Re-exports struct
Re-exports sumHorizontal
Re-exports tail
Re-exports when
diff --git a/modules/DataType-1.html b/modules/DataType-1.html new file mode 100644 index 00000000..866677ea --- /dev/null +++ b/modules/DataType-1.html @@ -0,0 +1,65 @@ +DataType | nodejs-polars

Namespace DataType

Datatype namespace

+

Accessors

diff --git a/modules/pl.Field-1.html b/modules/pl.Field-1.html new file mode 100644 index 00000000..316f04df --- /dev/null +++ b/modules/pl.Field-1.html @@ -0,0 +1,2 @@ +Field | nodejs-polars

Namespace Field

Index

Functions

diff --git a/modules/pl.html b/modules/pl.html new file mode 100644 index 00000000..e1bad2eb --- /dev/null +++ b/modules/pl.html @@ -0,0 +1,115 @@ +pl | nodejs-polars
diff --git a/types/Bool-1.html b/types/Bool-1.html new file mode 100644 index 00000000..914857c3 --- /dev/null +++ b/types/Bool-1.html @@ -0,0 +1 @@ +Bool | nodejs-polars

Type Alias Bool

Bool: Bool
diff --git a/types/Categorical-1.html b/types/Categorical-1.html new file mode 100644 index 00000000..c1500f82 --- /dev/null +++ b/types/Categorical-1.html @@ -0,0 +1 @@ +Categorical | nodejs-polars

Type Alias Categorical

Categorical: Categorical
diff --git a/types/ChainedThen.html b/types/ChainedThen.html new file mode 100644 index 00000000..dc560901 --- /dev/null +++ b/types/ChainedThen.html @@ -0,0 +1 @@ +ChainedThen | nodejs-polars

Type Alias ChainedThen

ChainedThen: lazy.ChainedThen
diff --git a/types/ChainedWhen.html b/types/ChainedWhen.html new file mode 100644 index 00000000..1127b847 --- /dev/null +++ b/types/ChainedWhen.html @@ -0,0 +1 @@ +ChainedWhen | nodejs-polars

Type Alias ChainedWhen

ChainedWhen: lazy.ChainedWhen
diff --git a/types/ClosedWindow.html b/types/ClosedWindow.html new file mode 100644 index 00000000..50c15029 --- /dev/null +++ b/types/ClosedWindow.html @@ -0,0 +1,2 @@ +ClosedWindow | nodejs-polars

Type Alias ClosedWindow

ClosedWindow:
    | "None"
    | "Both"
    | "Left"
    | "Right"

ClosedWindow types

+
diff --git a/types/DataType-1.Bool.html b/types/DataType-1.Bool.html new file mode 100644 index 00000000..6bf01fc8 --- /dev/null +++ b/types/DataType-1.Bool.html @@ -0,0 +1 @@ +Bool | nodejs-polars
diff --git a/types/DataType-1.Categorical.html b/types/DataType-1.Categorical.html new file mode 100644 index 00000000..0486eee9 --- /dev/null +++ b/types/DataType-1.Categorical.html @@ -0,0 +1 @@ +Categorical | nodejs-polars

Type Alias Categorical

Categorical: Categorical
diff --git a/types/DataType-1.Date.html b/types/DataType-1.Date.html new file mode 100644 index 00000000..4a01d2bc --- /dev/null +++ b/types/DataType-1.Date.html @@ -0,0 +1 @@ +Date | nodejs-polars
diff --git a/types/DataType-1.Datetime.html b/types/DataType-1.Datetime.html new file mode 100644 index 00000000..bb97c0c4 --- /dev/null +++ b/types/DataType-1.Datetime.html @@ -0,0 +1 @@ +Datetime | nodejs-polars
Datetime: Datetime
diff --git a/types/DataType-1.Decimal.html b/types/DataType-1.Decimal.html new file mode 100644 index 00000000..d5cf194e --- /dev/null +++ b/types/DataType-1.Decimal.html @@ -0,0 +1 @@ +Decimal | nodejs-polars
Decimal: Decimal
diff --git a/types/DataType-1.FixedSizeList.html b/types/DataType-1.FixedSizeList.html new file mode 100644 index 00000000..81481d7f --- /dev/null +++ b/types/DataType-1.FixedSizeList.html @@ -0,0 +1 @@ +FixedSizeList | nodejs-polars

Type Alias FixedSizeList

FixedSizeList: FixedSizeList
diff --git a/types/DataType-1.Float32.html b/types/DataType-1.Float32.html new file mode 100644 index 00000000..93984d4b --- /dev/null +++ b/types/DataType-1.Float32.html @@ -0,0 +1 @@ +Float32 | nodejs-polars
Float32: Float32
diff --git a/types/DataType-1.Float64.html b/types/DataType-1.Float64.html new file mode 100644 index 00000000..b671df7d --- /dev/null +++ b/types/DataType-1.Float64.html @@ -0,0 +1 @@ +Float64 | nodejs-polars
Float64: Float64
diff --git a/types/DataType-1.Int16.html b/types/DataType-1.Int16.html new file mode 100644 index 00000000..cf62fe21 --- /dev/null +++ b/types/DataType-1.Int16.html @@ -0,0 +1 @@ +Int16 | nodejs-polars
Int16: Int16
diff --git a/types/DataType-1.Int32.html b/types/DataType-1.Int32.html new file mode 100644 index 00000000..87b5a5f2 --- /dev/null +++ b/types/DataType-1.Int32.html @@ -0,0 +1 @@ +Int32 | nodejs-polars
Int32: Int32
diff --git a/types/DataType-1.Int64.html b/types/DataType-1.Int64.html new file mode 100644 index 00000000..4bf937f0 --- /dev/null +++ b/types/DataType-1.Int64.html @@ -0,0 +1 @@ +Int64 | nodejs-polars
Int64: Int64
diff --git a/types/DataType-1.Int8.html b/types/DataType-1.Int8.html new file mode 100644 index 00000000..1def8e9a --- /dev/null +++ b/types/DataType-1.Int8.html @@ -0,0 +1 @@ +Int8 | nodejs-polars
diff --git a/types/DataType-1.List.html b/types/DataType-1.List.html new file mode 100644 index 00000000..b7990601 --- /dev/null +++ b/types/DataType-1.List.html @@ -0,0 +1 @@ +List | nodejs-polars
diff --git a/types/DataType-1.Null.html b/types/DataType-1.Null.html new file mode 100644 index 00000000..de37b2f0 --- /dev/null +++ b/types/DataType-1.Null.html @@ -0,0 +1 @@ +Null | nodejs-polars
diff --git a/types/DataType-1.Object.html b/types/DataType-1.Object.html new file mode 100644 index 00000000..0ad7ab30 --- /dev/null +++ b/types/DataType-1.Object.html @@ -0,0 +1 @@ +Object | nodejs-polars
Object: Object_
diff --git a/types/DataType-1.String.html b/types/DataType-1.String.html new file mode 100644 index 00000000..6aa90685 --- /dev/null +++ b/types/DataType-1.String.html @@ -0,0 +1 @@ +String | nodejs-polars
String: String
diff --git a/types/DataType-1.Struct.html b/types/DataType-1.Struct.html new file mode 100644 index 00000000..59f0f58e --- /dev/null +++ b/types/DataType-1.Struct.html @@ -0,0 +1 @@ +Struct | nodejs-polars
diff --git a/types/DataType-1.Time.html b/types/DataType-1.Time.html new file mode 100644 index 00000000..049f4972 --- /dev/null +++ b/types/DataType-1.Time.html @@ -0,0 +1 @@ +Time | nodejs-polars
diff --git a/types/DataType-1.UInt16.html b/types/DataType-1.UInt16.html new file mode 100644 index 00000000..49b81778 --- /dev/null +++ b/types/DataType-1.UInt16.html @@ -0,0 +1 @@ +UInt16 | nodejs-polars
UInt16: UInt16
diff --git a/types/DataType-1.UInt32.html b/types/DataType-1.UInt32.html new file mode 100644 index 00000000..044f8b81 --- /dev/null +++ b/types/DataType-1.UInt32.html @@ -0,0 +1 @@ +UInt32 | nodejs-polars
UInt32: UInt32
diff --git a/types/DataType-1.UInt64.html b/types/DataType-1.UInt64.html new file mode 100644 index 00000000..36e2fca5 --- /dev/null +++ b/types/DataType-1.UInt64.html @@ -0,0 +1 @@ +UInt64 | nodejs-polars
UInt64: UInt64
diff --git a/types/DataType-1.UInt8.html b/types/DataType-1.UInt8.html new file mode 100644 index 00000000..6550fe2e --- /dev/null +++ b/types/DataType-1.UInt8.html @@ -0,0 +1 @@ +UInt8 | nodejs-polars
UInt8: UInt8
diff --git a/types/DataType-1.Utf8.html b/types/DataType-1.Utf8.html new file mode 100644 index 00000000..472c3858 --- /dev/null +++ b/types/DataType-1.Utf8.html @@ -0,0 +1 @@ +Utf8 | nodejs-polars
diff --git a/types/Date-1.html b/types/Date-1.html new file mode 100644 index 00000000..ae3dc60a --- /dev/null +++ b/types/Date-1.html @@ -0,0 +1 @@ +Date | nodejs-polars

Type Alias Date

Date: Date
diff --git a/types/Datetime-1.html b/types/Datetime-1.html new file mode 100644 index 00000000..61b3a655 --- /dev/null +++ b/types/Datetime-1.html @@ -0,0 +1 @@ +Datetime | nodejs-polars

Type Alias Datetime

Datetime: Datetime
diff --git a/types/DatetimeNamespace.html b/types/DatetimeNamespace.html new file mode 100644 index 00000000..41120f5a --- /dev/null +++ b/types/DatetimeNamespace.html @@ -0,0 +1,2 @@ +DatetimeNamespace | nodejs-polars

Type Alias DatetimeNamespace

DatetimeNamespace: DateFunctions<pl.Expr>

DateTime functions

+
diff --git a/types/Decimal-1.html b/types/Decimal-1.html new file mode 100644 index 00000000..e2b81b26 --- /dev/null +++ b/types/Decimal-1.html @@ -0,0 +1 @@ +Decimal | nodejs-polars

Type Alias Decimal

Decimal: Decimal
diff --git a/types/DownsampleRule.html b/types/DownsampleRule.html new file mode 100644 index 00000000..724cde08 --- /dev/null +++ b/types/DownsampleRule.html @@ -0,0 +1,2 @@ +DownsampleRule | nodejs-polars

Type Alias DownsampleRule

DownsampleRule:
    | "month"
    | "week"
    | "day"
    | "hour"
    | "minute"
    | "second"

Downsample rules

+
diff --git a/types/FillNullStrategy.html b/types/FillNullStrategy.html new file mode 100644 index 00000000..cec88146 --- /dev/null +++ b/types/FillNullStrategy.html @@ -0,0 +1,2 @@ +FillNullStrategy | nodejs-polars

Type Alias FillNullStrategy

FillNullStrategy:
    | "backward"
    | "forward"
    | "mean"
    | "min"
    | "max"
    | "zero"
    | "one"

Fill null strategies

+
diff --git a/types/FixedSizeList-1.html b/types/FixedSizeList-1.html new file mode 100644 index 00000000..f837a0bb --- /dev/null +++ b/types/FixedSizeList-1.html @@ -0,0 +1 @@ +FixedSizeList | nodejs-polars

Type Alias FixedSizeList

FixedSizeList: FixedSizeList
diff --git a/types/Float32-1.html b/types/Float32-1.html new file mode 100644 index 00000000..bd730d12 --- /dev/null +++ b/types/Float32-1.html @@ -0,0 +1 @@ +Float32 | nodejs-polars

Type Alias Float32

Float32: Float32
diff --git a/types/Float64-1.html b/types/Float64-1.html new file mode 100644 index 00000000..628fea67 --- /dev/null +++ b/types/Float64-1.html @@ -0,0 +1 @@ +Float64 | nodejs-polars

Type Alias Float64

Float64: Float64
diff --git a/types/Int16-1.html b/types/Int16-1.html new file mode 100644 index 00000000..52ee3c94 --- /dev/null +++ b/types/Int16-1.html @@ -0,0 +1 @@ +Int16 | nodejs-polars

Type Alias Int16

Int16: Int16
diff --git a/types/Int32-1.html b/types/Int32-1.html new file mode 100644 index 00000000..d5c501cd --- /dev/null +++ b/types/Int32-1.html @@ -0,0 +1 @@ +Int32 | nodejs-polars

Type Alias Int32

Int32: Int32
diff --git a/types/Int64-1.html b/types/Int64-1.html new file mode 100644 index 00000000..2c397532 --- /dev/null +++ b/types/Int64-1.html @@ -0,0 +1 @@ +Int64 | nodejs-polars

Type Alias Int64

Int64: Int64
diff --git a/types/Int8-1.html b/types/Int8-1.html new file mode 100644 index 00000000..b540c6f0 --- /dev/null +++ b/types/Int8-1.html @@ -0,0 +1 @@ +Int8 | nodejs-polars

Type Alias Int8

Int8: Int8
diff --git a/types/InterpolationMethod.html b/types/InterpolationMethod.html new file mode 100644 index 00000000..db0c17db --- /dev/null +++ b/types/InterpolationMethod.html @@ -0,0 +1,2 @@ +InterpolationMethod | nodejs-polars

Type Alias InterpolationMethod

InterpolationMethod:
    | "nearest"
    | "higher"
    | "lower"
    | "midpoint"
    | "linear"

Interpolation types

+
diff --git a/types/JoinType.html b/types/JoinType.html new file mode 100644 index 00000000..5c148ab6 --- /dev/null +++ b/types/JoinType.html @@ -0,0 +1,2 @@ +JoinType | nodejs-polars

Type Alias JoinType

JoinType:
    | "left"
    | "inner"
    | "full"
    | "semi"
    | "anti"
    | "cross"

Join types

+
diff --git a/types/LazyGroupBy.html b/types/LazyGroupBy.html new file mode 100644 index 00000000..a0abeacc --- /dev/null +++ b/types/LazyGroupBy.html @@ -0,0 +1 @@ +LazyGroupBy | nodejs-polars

Type Alias LazyGroupBy

LazyGroupBy: lazy.LazyGroupBy
diff --git a/types/LazyOptions.html b/types/LazyOptions.html new file mode 100644 index 00000000..b60849dc --- /dev/null +++ b/types/LazyOptions.html @@ -0,0 +1,3 @@ +LazyOptions | nodejs-polars

Type Alias LazyOptions

LazyOptions: {
    commSubexprElim?: boolean;
    commSubplanElim?: boolean;
    noOptimization?: boolean;
    predicatePushdown?: boolean;
    projectionPushdown?: boolean;
    simplifyExpression?: boolean;
    slicePushdown?: boolean;
    streaming?: boolean;
    typeCoercion?: boolean;
}

options for lazy operations

+

LazyDataFrame.collect

+
diff --git a/types/List-1.html b/types/List-1.html new file mode 100644 index 00000000..0b958af6 --- /dev/null +++ b/types/List-1.html @@ -0,0 +1 @@ +List | nodejs-polars

Type Alias List

List: List
diff --git a/types/ListNamespace.html b/types/ListNamespace.html new file mode 100644 index 00000000..41e13da4 --- /dev/null +++ b/types/ListNamespace.html @@ -0,0 +1,2 @@ +ListNamespace | nodejs-polars

Type Alias ListNamespace

ListNamespace: ListFunctions<pl.Expr>

namespace containing expr list functions

+
diff --git a/types/Null-1.html b/types/Null-1.html new file mode 100644 index 00000000..8c492015 --- /dev/null +++ b/types/Null-1.html @@ -0,0 +1 @@ +Null | nodejs-polars

Type Alias Null

Null: Null
diff --git a/types/Object-1.html b/types/Object-1.html new file mode 100644 index 00000000..5998e438 --- /dev/null +++ b/types/Object-1.html @@ -0,0 +1 @@ +Object | nodejs-polars

Type Alias Object

Object: Object_
diff --git a/types/RankMethod.html b/types/RankMethod.html new file mode 100644 index 00000000..899ca9f7 --- /dev/null +++ b/types/RankMethod.html @@ -0,0 +1,2 @@ +RankMethod | nodejs-polars

Type Alias RankMethod

RankMethod:
    | "average"
    | "min"
    | "max"
    | "dense"
    | "ordinal"
    | "random"

Rank methods

+
diff --git a/types/String-1.html b/types/String-1.html new file mode 100644 index 00000000..18e19be0 --- /dev/null +++ b/types/String-1.html @@ -0,0 +1 @@ +String | nodejs-polars

Type Alias String

String: String
diff --git a/types/Struct-1.html b/types/Struct-1.html new file mode 100644 index 00000000..da8f9555 --- /dev/null +++ b/types/Struct-1.html @@ -0,0 +1 @@ +Struct | nodejs-polars

Type Alias Struct

Struct: Struct
diff --git a/types/Then.html b/types/Then.html new file mode 100644 index 00000000..959d1f27 --- /dev/null +++ b/types/Then.html @@ -0,0 +1 @@ +Then | nodejs-polars

Type Alias Then

Then: lazy.Then
diff --git a/types/Time-1.html b/types/Time-1.html new file mode 100644 index 00000000..046ffa3b --- /dev/null +++ b/types/Time-1.html @@ -0,0 +1 @@ +Time | nodejs-polars

Type Alias Time

Time: Time
diff --git a/types/UInt16-1.html b/types/UInt16-1.html new file mode 100644 index 00000000..4c0bfbba --- /dev/null +++ b/types/UInt16-1.html @@ -0,0 +1 @@ +UInt16 | nodejs-polars

Type Alias UInt16

UInt16: UInt16
diff --git a/types/UInt32-1.html b/types/UInt32-1.html new file mode 100644 index 00000000..faa632dd --- /dev/null +++ b/types/UInt32-1.html @@ -0,0 +1 @@ +UInt32 | nodejs-polars

Type Alias UInt32

UInt32: UInt32
diff --git a/types/UInt64-1.html b/types/UInt64-1.html new file mode 100644 index 00000000..3ac7c90d --- /dev/null +++ b/types/UInt64-1.html @@ -0,0 +1 @@ +UInt64 | nodejs-polars

Type Alias UInt64

UInt64: UInt64
diff --git a/types/UInt8-1.html b/types/UInt8-1.html new file mode 100644 index 00000000..918da18d --- /dev/null +++ b/types/UInt8-1.html @@ -0,0 +1 @@ +UInt8 | nodejs-polars

Type Alias UInt8

UInt8: UInt8
diff --git a/types/Utf8-1.html b/types/Utf8-1.html new file mode 100644 index 00000000..0b8182c5 --- /dev/null +++ b/types/Utf8-1.html @@ -0,0 +1 @@ +Utf8 | nodejs-polars

Type Alias Utf8

Utf8: Utf8
diff --git a/types/When.html b/types/When.html new file mode 100644 index 00000000..5e595b84 --- /dev/null +++ b/types/When.html @@ -0,0 +1 @@ +When | nodejs-polars

Type Alias When

When: lazy.When
diff --git a/types/pl.Bool-1.html b/types/pl.Bool-1.html new file mode 100644 index 00000000..d20d72bb --- /dev/null +++ b/types/pl.Bool-1.html @@ -0,0 +1 @@ +Bool | nodejs-polars

Type Alias Bool

Bool: Bool
diff --git a/types/pl.Categorical-1.html b/types/pl.Categorical-1.html new file mode 100644 index 00000000..c45497fd --- /dev/null +++ b/types/pl.Categorical-1.html @@ -0,0 +1 @@ +Categorical | nodejs-polars

Type Alias Categorical

Categorical: Categorical
diff --git a/types/pl.ChainedThen.html b/types/pl.ChainedThen.html new file mode 100644 index 00000000..36313e3c --- /dev/null +++ b/types/pl.ChainedThen.html @@ -0,0 +1 @@ +ChainedThen | nodejs-polars

Type Alias ChainedThen

ChainedThen: lazy.ChainedThen
diff --git a/types/pl.ChainedWhen.html b/types/pl.ChainedWhen.html new file mode 100644 index 00000000..682aeb8a --- /dev/null +++ b/types/pl.ChainedWhen.html @@ -0,0 +1 @@ +ChainedWhen | nodejs-polars

Type Alias ChainedWhen

ChainedWhen: lazy.ChainedWhen
diff --git a/types/pl.Date-1.html b/types/pl.Date-1.html new file mode 100644 index 00000000..fc9b7839 --- /dev/null +++ b/types/pl.Date-1.html @@ -0,0 +1 @@ +Date | nodejs-polars

Type Alias Date

Date: Date
diff --git a/types/pl.Datetime-1.html b/types/pl.Datetime-1.html new file mode 100644 index 00000000..a9a057e1 --- /dev/null +++ b/types/pl.Datetime-1.html @@ -0,0 +1 @@ +Datetime | nodejs-polars

Type Alias Datetime

Datetime: Datetime
diff --git a/types/pl.Decimal-1.html b/types/pl.Decimal-1.html new file mode 100644 index 00000000..052ae429 --- /dev/null +++ b/types/pl.Decimal-1.html @@ -0,0 +1 @@ +Decimal | nodejs-polars

Type Alias Decimal

Decimal: Decimal
diff --git a/types/pl.FixedSizeList-1.html b/types/pl.FixedSizeList-1.html new file mode 100644 index 00000000..82653f8b --- /dev/null +++ b/types/pl.FixedSizeList-1.html @@ -0,0 +1 @@ +FixedSizeList | nodejs-polars

Type Alias FixedSizeList

FixedSizeList: FixedSizeList
diff --git a/types/pl.Float32-1.html b/types/pl.Float32-1.html new file mode 100644 index 00000000..f2fe706b --- /dev/null +++ b/types/pl.Float32-1.html @@ -0,0 +1 @@ +Float32 | nodejs-polars

Type Alias Float32

Float32: Float32
diff --git a/types/pl.Float64-1.html b/types/pl.Float64-1.html new file mode 100644 index 00000000..c0c4ef51 --- /dev/null +++ b/types/pl.Float64-1.html @@ -0,0 +1 @@ +Float64 | nodejs-polars

Type Alias Float64

Float64: Float64
diff --git a/types/pl.Int16-1.html b/types/pl.Int16-1.html new file mode 100644 index 00000000..80a8f14e --- /dev/null +++ b/types/pl.Int16-1.html @@ -0,0 +1 @@ +Int16 | nodejs-polars

Type Alias Int16

Int16: Int16
diff --git a/types/pl.Int32-1.html b/types/pl.Int32-1.html new file mode 100644 index 00000000..7cbdfb29 --- /dev/null +++ b/types/pl.Int32-1.html @@ -0,0 +1 @@ +Int32 | nodejs-polars

Type Alias Int32

Int32: Int32
diff --git a/types/pl.Int64-1.html b/types/pl.Int64-1.html new file mode 100644 index 00000000..db80c300 --- /dev/null +++ b/types/pl.Int64-1.html @@ -0,0 +1 @@ +Int64 | nodejs-polars

Type Alias Int64

Int64: Int64
diff --git a/types/pl.Int8-1.html b/types/pl.Int8-1.html new file mode 100644 index 00000000..3dae5b9d --- /dev/null +++ b/types/pl.Int8-1.html @@ -0,0 +1 @@ +Int8 | nodejs-polars

Type Alias Int8

Int8: Int8
diff --git a/types/pl.LazyGroupBy.html b/types/pl.LazyGroupBy.html new file mode 100644 index 00000000..0b062dab --- /dev/null +++ b/types/pl.LazyGroupBy.html @@ -0,0 +1 @@ +LazyGroupBy | nodejs-polars

Type Alias LazyGroupBy

LazyGroupBy: lazy.LazyGroupBy
diff --git a/types/pl.List-1.html b/types/pl.List-1.html new file mode 100644 index 00000000..6f51a1d3 --- /dev/null +++ b/types/pl.List-1.html @@ -0,0 +1 @@ +List | nodejs-polars

Type Alias List

List: List
diff --git a/types/pl.Null-1.html b/types/pl.Null-1.html new file mode 100644 index 00000000..7e07080b --- /dev/null +++ b/types/pl.Null-1.html @@ -0,0 +1 @@ +Null | nodejs-polars

Type Alias Null

Null: Null
diff --git a/types/pl.Object-1.html b/types/pl.Object-1.html new file mode 100644 index 00000000..ec3e570a --- /dev/null +++ b/types/pl.Object-1.html @@ -0,0 +1 @@ +Object | nodejs-polars

Type Alias Object

Object: Object_
diff --git a/types/pl.String-1.html b/types/pl.String-1.html new file mode 100644 index 00000000..fe95fb4b --- /dev/null +++ b/types/pl.String-1.html @@ -0,0 +1 @@ +String | nodejs-polars

Type Alias String

String: String
diff --git a/types/pl.Struct-1.html b/types/pl.Struct-1.html new file mode 100644 index 00000000..d368bef3 --- /dev/null +++ b/types/pl.Struct-1.html @@ -0,0 +1 @@ +Struct | nodejs-polars

Type Alias Struct

Struct: Struct
diff --git a/types/pl.Then.html b/types/pl.Then.html new file mode 100644 index 00000000..2025c2fd --- /dev/null +++ b/types/pl.Then.html @@ -0,0 +1 @@ +Then | nodejs-polars

Type Alias Then

Then: lazy.Then
diff --git a/types/pl.Time-1.html b/types/pl.Time-1.html new file mode 100644 index 00000000..0a6bd40f --- /dev/null +++ b/types/pl.Time-1.html @@ -0,0 +1 @@ +Time | nodejs-polars

Type Alias Time

Time: Time
diff --git a/types/pl.UInt16-1.html b/types/pl.UInt16-1.html new file mode 100644 index 00000000..24361d71 --- /dev/null +++ b/types/pl.UInt16-1.html @@ -0,0 +1 @@ +UInt16 | nodejs-polars

Type Alias UInt16

UInt16: UInt16
diff --git a/types/pl.UInt32-1.html b/types/pl.UInt32-1.html new file mode 100644 index 00000000..5ab2fd50 --- /dev/null +++ b/types/pl.UInt32-1.html @@ -0,0 +1 @@ +UInt32 | nodejs-polars

Type Alias UInt32

UInt32: UInt32
diff --git a/types/pl.UInt64-1.html b/types/pl.UInt64-1.html new file mode 100644 index 00000000..525c084b --- /dev/null +++ b/types/pl.UInt64-1.html @@ -0,0 +1 @@ +UInt64 | nodejs-polars

Type Alias UInt64

UInt64: UInt64
diff --git a/types/pl.UInt8-1.html b/types/pl.UInt8-1.html new file mode 100644 index 00000000..71d7a44c --- /dev/null +++ b/types/pl.UInt8-1.html @@ -0,0 +1 @@ +UInt8 | nodejs-polars

Type Alias UInt8

UInt8: UInt8
diff --git a/types/pl.Utf8-1.html b/types/pl.Utf8-1.html new file mode 100644 index 00000000..c0c910c2 --- /dev/null +++ b/types/pl.Utf8-1.html @@ -0,0 +1 @@ +Utf8 | nodejs-polars

Type Alias Utf8

Utf8: Utf8
diff --git a/types/pl.When.html b/types/pl.When.html new file mode 100644 index 00000000..1cd92b75 --- /dev/null +++ b/types/pl.When.html @@ -0,0 +1 @@ +When | nodejs-polars

Type Alias When

When: lazy.When
diff --git a/variables/Bool.html b/variables/Bool.html new file mode 100644 index 00000000..b3be509a --- /dev/null +++ b/variables/Bool.html @@ -0,0 +1 @@ +Bool | nodejs-polars

Variable Bool

Bool: DataType
diff --git a/variables/Categorical.html b/variables/Categorical.html new file mode 100644 index 00000000..72310a44 --- /dev/null +++ b/variables/Categorical.html @@ -0,0 +1 @@ +Categorical | nodejs-polars

Variable Categorical

Categorical: DataType
diff --git a/variables/Date.html b/variables/Date.html new file mode 100644 index 00000000..3c7f7072 --- /dev/null +++ b/variables/Date.html @@ -0,0 +1 @@ +Date | nodejs-polars

Variable Date

Date: DataType
diff --git a/variables/Float32.html b/variables/Float32.html new file mode 100644 index 00000000..1cc1c48c --- /dev/null +++ b/variables/Float32.html @@ -0,0 +1 @@ +Float32 | nodejs-polars

Variable Float32

Float32: DataType
diff --git a/variables/Float64.html b/variables/Float64.html new file mode 100644 index 00000000..f5041f8c --- /dev/null +++ b/variables/Float64.html @@ -0,0 +1 @@ +Float64 | nodejs-polars

Variable Float64

Float64: DataType
diff --git a/variables/Int16.html b/variables/Int16.html new file mode 100644 index 00000000..0ceebd2c --- /dev/null +++ b/variables/Int16.html @@ -0,0 +1 @@ +Int16 | nodejs-polars

Variable Int16

Int16: DataType
diff --git a/variables/Int32.html b/variables/Int32.html new file mode 100644 index 00000000..990fd65c --- /dev/null +++ b/variables/Int32.html @@ -0,0 +1 @@ +Int32 | nodejs-polars

Variable Int32

Int32: DataType
diff --git a/variables/Int64.html b/variables/Int64.html new file mode 100644 index 00000000..65abc43f --- /dev/null +++ b/variables/Int64.html @@ -0,0 +1 @@ +Int64 | nodejs-polars

Variable Int64

Int64: DataType
diff --git a/variables/Int8.html b/variables/Int8.html new file mode 100644 index 00000000..b5a51e13 --- /dev/null +++ b/variables/Int8.html @@ -0,0 +1 @@ +Int8 | nodejs-polars

Variable Int8

Int8: DataType
diff --git a/variables/Null.html b/variables/Null.html new file mode 100644 index 00000000..380f1aab --- /dev/null +++ b/variables/Null.html @@ -0,0 +1 @@ +Null | nodejs-polars

Variable Null

Null: DataType
diff --git a/variables/Object.html b/variables/Object.html new file mode 100644 index 00000000..b72eed3f --- /dev/null +++ b/variables/Object.html @@ -0,0 +1 @@ +Object | nodejs-polars

Variable Object

Object: DataType
diff --git a/variables/String.html b/variables/String.html new file mode 100644 index 00000000..1b29a8f2 --- /dev/null +++ b/variables/String.html @@ -0,0 +1 @@ +String | nodejs-polars

Variable String

String: DataType
diff --git a/variables/Time.html b/variables/Time.html new file mode 100644 index 00000000..3dac4e02 --- /dev/null +++ b/variables/Time.html @@ -0,0 +1 @@ +Time | nodejs-polars

Variable Time

Time: DataType
diff --git a/variables/UInt16.html b/variables/UInt16.html new file mode 100644 index 00000000..bab00622 --- /dev/null +++ b/variables/UInt16.html @@ -0,0 +1 @@ +UInt16 | nodejs-polars

Variable UInt16

UInt16: DataType
diff --git a/variables/UInt32.html b/variables/UInt32.html new file mode 100644 index 00000000..7a93ee89 --- /dev/null +++ b/variables/UInt32.html @@ -0,0 +1 @@ +UInt32 | nodejs-polars

Variable UInt32

UInt32: DataType
diff --git a/variables/UInt64.html b/variables/UInt64.html new file mode 100644 index 00000000..6a82cf6d --- /dev/null +++ b/variables/UInt64.html @@ -0,0 +1 @@ +UInt64 | nodejs-polars

Variable UInt64

UInt64: DataType
diff --git a/variables/UInt8.html b/variables/UInt8.html new file mode 100644 index 00000000..fb0f0c4b --- /dev/null +++ b/variables/UInt8.html @@ -0,0 +1 @@ +UInt8 | nodejs-polars

Variable UInt8

UInt8: DataType
diff --git a/variables/Utf8.html b/variables/Utf8.html new file mode 100644 index 00000000..da13402e --- /dev/null +++ b/variables/Utf8.html @@ -0,0 +1 @@ +Utf8 | nodejs-polars

Variable Utf8

Utf8: DataType
diff --git a/variables/pl.Bool.html b/variables/pl.Bool.html new file mode 100644 index 00000000..7490ee0b --- /dev/null +++ b/variables/pl.Bool.html @@ -0,0 +1 @@ +Bool | nodejs-polars

Variable Bool

Bool: DataType
diff --git a/variables/pl.Categorical.html b/variables/pl.Categorical.html new file mode 100644 index 00000000..c5db5555 --- /dev/null +++ b/variables/pl.Categorical.html @@ -0,0 +1 @@ +Categorical | nodejs-polars

Variable Categorical

Categorical: DataType
diff --git a/variables/pl.Date.html b/variables/pl.Date.html new file mode 100644 index 00000000..bcbd7711 --- /dev/null +++ b/variables/pl.Date.html @@ -0,0 +1 @@ +Date | nodejs-polars

Variable Date

Date: DataType
diff --git a/variables/pl.Expr.html b/variables/pl.Expr.html new file mode 100644 index 00000000..06d5206e --- /dev/null +++ b/variables/pl.Expr.html @@ -0,0 +1 @@ +Expr | nodejs-polars
diff --git a/variables/pl.Float32.html b/variables/pl.Float32.html new file mode 100644 index 00000000..7baa8672 --- /dev/null +++ b/variables/pl.Float32.html @@ -0,0 +1 @@ +Float32 | nodejs-polars

Variable Float32

Float32: DataType
diff --git a/variables/pl.Float64.html b/variables/pl.Float64.html new file mode 100644 index 00000000..1ac7236d --- /dev/null +++ b/variables/pl.Float64.html @@ -0,0 +1 @@ +Float64 | nodejs-polars

Variable Float64

Float64: DataType
diff --git a/variables/pl.Int16.html b/variables/pl.Int16.html new file mode 100644 index 00000000..d2e35409 --- /dev/null +++ b/variables/pl.Int16.html @@ -0,0 +1 @@ +Int16 | nodejs-polars

Variable Int16

Int16: DataType
diff --git a/variables/pl.Int32.html b/variables/pl.Int32.html new file mode 100644 index 00000000..450d622c --- /dev/null +++ b/variables/pl.Int32.html @@ -0,0 +1 @@ +Int32 | nodejs-polars

Variable Int32

Int32: DataType
diff --git a/variables/pl.Int64.html b/variables/pl.Int64.html new file mode 100644 index 00000000..a24bbe83 --- /dev/null +++ b/variables/pl.Int64.html @@ -0,0 +1 @@ +Int64 | nodejs-polars

Variable Int64

Int64: DataType
diff --git a/variables/pl.Int8.html b/variables/pl.Int8.html new file mode 100644 index 00000000..c0b670ab --- /dev/null +++ b/variables/pl.Int8.html @@ -0,0 +1 @@ +Int8 | nodejs-polars

Variable Int8

Int8: DataType
diff --git a/variables/pl.Null.html b/variables/pl.Null.html new file mode 100644 index 00000000..52239c63 --- /dev/null +++ b/variables/pl.Null.html @@ -0,0 +1 @@ +Null | nodejs-polars

Variable Null

Null: DataType
diff --git a/variables/pl.Object.html b/variables/pl.Object.html new file mode 100644 index 00000000..c4f2a50c --- /dev/null +++ b/variables/pl.Object.html @@ -0,0 +1 @@ +Object | nodejs-polars

Variable Object

Object: DataType
diff --git a/variables/pl.String.html b/variables/pl.String.html new file mode 100644 index 00000000..6964ddbd --- /dev/null +++ b/variables/pl.String.html @@ -0,0 +1 @@ +String | nodejs-polars

Variable String

String: DataType
diff --git a/variables/pl.Time.html b/variables/pl.Time.html new file mode 100644 index 00000000..e14adc8e --- /dev/null +++ b/variables/pl.Time.html @@ -0,0 +1 @@ +Time | nodejs-polars

Variable Time

Time: DataType
diff --git a/variables/pl.UInt16.html b/variables/pl.UInt16.html new file mode 100644 index 00000000..d6d28daf --- /dev/null +++ b/variables/pl.UInt16.html @@ -0,0 +1 @@ +UInt16 | nodejs-polars

Variable UInt16

UInt16: DataType
diff --git a/variables/pl.UInt32.html b/variables/pl.UInt32.html new file mode 100644 index 00000000..6073c22b --- /dev/null +++ b/variables/pl.UInt32.html @@ -0,0 +1 @@ +UInt32 | nodejs-polars

Variable UInt32

UInt32: DataType
diff --git a/variables/pl.UInt64.html b/variables/pl.UInt64.html new file mode 100644 index 00000000..37e01d83 --- /dev/null +++ b/variables/pl.UInt64.html @@ -0,0 +1 @@ +UInt64 | nodejs-polars

Variable UInt64

UInt64: DataType
diff --git a/variables/pl.UInt8.html b/variables/pl.UInt8.html new file mode 100644 index 00000000..9d1e86d2 --- /dev/null +++ b/variables/pl.UInt8.html @@ -0,0 +1 @@ +UInt8 | nodejs-polars

Variable UInt8

UInt8: DataType
diff --git a/variables/pl.Utf8.html b/variables/pl.Utf8.html new file mode 100644 index 00000000..0bbf3332 --- /dev/null +++ b/variables/pl.Utf8.html @@ -0,0 +1 @@ +Utf8 | nodejs-polars

Variable Utf8

Utf8: DataType
diff --git a/variables/pl.version.html b/variables/pl.version.html new file mode 100644 index 00000000..f0de2525 --- /dev/null +++ b/variables/pl.version.html @@ -0,0 +1 @@ +version | nodejs-polars

Variable versionConst

version: any = ...
diff --git a/variables/version.html b/variables/version.html new file mode 100644 index 00000000..3139e580 --- /dev/null +++ b/variables/version.html @@ -0,0 +1 @@ +version | nodejs-polars

Variable versionConst

version: any = ...