[![Awesome](https://awesome.re/badge.svg)](https://awesome.re) [![Track Awesome List](https://www.trackawesomelist.com/badge.svg)](https://www.trackawesomelist.com/ddotta/awesome-polars/)
*A curated list of [Polars](https://www.pola.rs/) docs, talks, tools, examples & articles the internet has to offer.*
[Polars](https://www.pola.rs/) is a lightning-fast DataFrame library for Rust, Python, Node.js and R.
Implemented in Rust, Polars uses [Apache Arrow Columnar Format](https://arrow.apache.org/docs/format/Columnar.html) as the memory model.
Contributions of any kind welcome!
Just follow the [guidelines](https://github.com/ddotta/awesome-polars/blob/main/.github/CONTRIBUTING.md) by either:
- Filling a [suggestion issue](https://github.com/ddotta/awesome-polars/issues/new?assignees=ddotta&labels=&template=suggestion.yml).
- Opening a [pull request](https://github.com/ddotta/awesome-polars/compare).
To see the latest entries in the list :
click here !
Awesome Polars
Official news
Official documentation
Libraries/Packages/Scripts
Polars plugins
To learn to write, see this great tutorial by @MarcoGorelli!
Python
- polars for Python - Python
polars
package to use polars DataFrame from Python.
- PDS(polars-ds) - A modern take on data science and traditional tabular machine learning with Polars. It provides Python modules that help with EDA tasks for Polars dataframes, machine learning pipelines that are native to Polars (cleaner and faster than Sklearn). In addition, it contains Polars plugin functions that turns many common numerical, statistical functions, least squares, KNN queries, and many other ML metrics into expressions that are executable inside a Polars dataframe.@abstractqqq.
- tidypolars
tidypolars
python library built on top of polars library that gives access to methods and functions familiar to R tidyverse users.
- Working with Polars and XlsxWriter - Guide to using the Python XlsxWriter library with Polars to create Excel reports.
- Python package seaborn_polars - Python package to plot Polars DataFrames and LazyFrames with seaborn by @pavelcherepan.
- Python package functime - Machine learning Python package built on Polars for time-series predictions by @neocortexdb. According to the developpers, it's the world's fastest and most feature-full machine learning forecasting library !
- Ibis Python package for Polars - Ibis is a Python library that provides a lightweight, universal interface for data wrangling. It can be used with Polars.
- Narwhals - Python files that provides an extremely lightweight compatibility layer between Polars, Pandas, cuDF, and Modin by @narwhals-dev.
- polars-upgrade - Python package that automatically upgrades your Polars code so it's compatible with future versions by @MarcoGorelli.
- polars-fuzzy-match - Python package for fuzzy matching with Polars, i.e. matching text elements that are similar but not exactly identical by @bnm3k.
- Polars for Identifiers and Standard Format Strings - Python package for Processing IBAN, ISINs, URLs and other standard format data in Polars by @abstractqqq.
- polars_hash - Python package that provides stable hashing functionality across different Polars versions by @ion-elgreco.
- polars_ta - Python package that provides technical indicator operators rewritten in Polars by @wukan1986.
- QuickEcharts - Python package for fast and easy echarts with Polars backend by @AdrianAntico.
- Polars OLS - Python package that provides efficient rust implementations of common linear regression variants and exposes them as simple Polars expressions by @azmyrajab.
- polars-candle - Python package for for running candle ML models on Polars DataFrames by @wdoppenberg.
- photoshoot - A pytest plugin library for doing snapshot testing with Polars DataFrames by @ngriffiths13.
- polar_patch - Python package that brings type safety and type checking for custom Polars plugins by @Summit-Sailors.
- harley - Polars helper methods to enhance developer productivity by @TomBurdge.
Rust
- polars for Rust - Rust
polars
crate to use polars DataFrame with Rust.
- Polars CLI
Polars CLI
is a command line interface for running SQL queries with Polars as backend.
- GeoPolars
Geopolars
Rust crate that extends the Polars DataFrame library for use with geospatial data.
R
Node.js
Scala/Java
Ruby
Resources
Cheat Sheets
Tutorials & workshops
Blog posts
- Using the Polars DataFrame Library - A blog post by Wei-Meng Lee to discover the basics of Polars and how it can be used in place of Pandas.
- Why Polars uses less memory than Pandas - A blog post by Itamar Turner-Trauring detailing some techniques to opptimize Pandas memory usage and see how Polars can provide an answer in some cases.
- Plodding with Polars in Python - A blog post by @amitrathore that introduces some basic features of Polars.
- Polars-lazy - A blog post by @ritchie46 and @jorgecarleitao that introduces Polars' lazy API in Rust.
- Series of posts on Polars - A series of blogpost on Polars usage with a lot of useful tricks and information by @braaannigan. Moreover, Liam also has a Data Analysis with Polars course on Udemy.
- Youtube videos about Polars - A series of short youtube videos about Polars by @braaannigan
- Alternatives to Pandas: Python Polars - An article that explores the Python Polars module as an alternative to Pandas, comparing their similarities and differences and providing some examples by @JohnLockwood
- Pandas vs Polars - A comparison on File I/O - A blog post that evaluates Polars and Pandas in terms of I/O performance and speed when handling large datasets by Wes Poulsen.
- Discover the Power of Polars Library for Fast and Efficient Data Manipulation in Python - An article that quickly compares Polars to other data manipulation libraries by Morpheus.
- Why is Polars All The Rage? - An article that explains why Polars will become very popular by SeattleDataGuy and Daniel Beach.
- Polars vs Pandas — 4 key concept differences - An article that helps to understand key differences between Pandas and Polars Data Science libraries by @DataScienceDisciple.
- Replacing Pandas with Polars. A Practical Guide - A blog post comparing some common functions between Pandas and Polars by @danielbeach. Code used is available on Github here.
- Dataframe Showdown – Polars vs Spark vs Pandas vs DataFusion. Guess who wins? - A short article that presents a performance test between Polars, Pandas, Datafusion and Spark on a csv dataset by @danielbeach. Code used is available on Github here.
- 7 Easy Steps To Switch From Pandas to Lightning Fast Polars And Never Return - A cheat sheet blog post of the most common Pandas operations translated into Polars by @BexTuychiev.
- Polars for initial data analysis, Polars for production - A blog post that shows how to use Polars for initial data analysis and then effectively in production by @itamarst.
- DuckDB vs Polars vs Spark! - An article that performs a benchmark against duckdb/Polars/spark, with varying row count, with swap usage as another metric, in addition to runtime in seconds. Code used is available on Github here.
- Benchmarking PySpark Pandas, Pandas UDFs, and Fugue Polars - A blog post that compares the execution time of fugue + Polars, Pandas UDFs and PySpark Pandas by @kvnkho.
- Pandas vs. Polars: The Battle of Performance - An another blog post that compares the performance between Pandas and Polars across a range of common data manipulation tasks by @makeuseofcode. Code used is available on Github.
- Pandas 2.0 vs Polars: The Ultimate Battle - A blog post that analyzes in terms of Syntax, Speed, and Usability between Pandas 2.0 and Polars 0.17.0 by @priyanshu7401.
- Polars - modern data frame library - A blog post that describes why Polars could be a better alternative to pandas, dplyr or data.table by @DSkrzypiec.
- The fastest way to read a CSV file in Python - A blog post that compares different ways (including Polars, pyarrow and C) to read a CSV file with Python by Finn Andersen.
- Pandas vs Polars vs Pandas 2.0 …. FIGHT - A blog post that does an ETL process for checking big data speed processing between Pandas, Pandas 2.0 and Polars by @guoliveira.
- Pandas vs Polars vs Pandas 2.0 … ROUND 2 - A blog post that makes a new comparison between Pandas, Pandas 2.0 and Polars by @guoliveira.
- Polars VS PySpark: Lazy Evaluation and Big Data - A blog post that compares lazy evaluation between Polars and Spark by @guoliveira.
- Polars in the aRtic! - An another blog post that compares the performance between Pandas and Polars across a range of common data manipulation tasks by @MCodrescu. Code used is available on Github.
- A Polars exploration into Kedro - A blog post that explains how Polars can be used instead of pandas in Kedro for your data catalog and data manipulation by @astrojuanlu.
- High Performance Data Manipulation in Python: pandas 2.0 vs. polars - A blog post that compares differences between Python pandas 2.0 and Polars libraries by @jcanalesluna.
- Lightning-fast queries with Polars - Another blog post that is a good introduction to Polars by @astrojuanlu.
- Polars – Laziness and SQL Context. - A blog post that presents two good reasons to adopt Polars : Lazy and SQL Context by @danielbeach.
- Exploring Polars - The Lightning-Fast DataFrame Library in Python - A blog post on the basics of Polars by @mddas.
- Pandas vs Polars – Speed Comparison - A blog post that compares the performance of Polars, Pandas and Pandas 2.0 by @StuffbyYuki. Code used is available on Github here.
- LazyFrame vs DataFrame in Polars – Performance Comparison - A blog post that introduces what LazyFrame is in Polars and its performance gain compared to DataFrame by @StuffbyYuki. Code used is available on Github here.
- Querying Polars DataFrames using SQL - A blog post that shows how to use the SQLContext object in Python to query a Polars DataFrame directly using SQL by @weimenglee.
- Polars vs Pandas: A Brief Tale of Two DataFrame Libraries - A blog post that compares Polars and Pandas focusing in particular on optional dependencies by @ranggakd.
- EDA with Polars: Step-by-Step Guide for Pandas Users (Part 1) - A blog post that describes the main data processing operations with Polars in Python by @AntonsRuberts. Code used is available in this notebook.
- EDA with Polars: Step-by-Step Guide to Aggregate and Analytic Functions (Part 2) - A blog post that shows how to perform with Polars and Python some fairly complex aggregates, rolling statistics and more by @AntonsRuberts. Code used is available in this notebook.
- Pyspark or Polars — What should you use? - A blog post that explores and breaks down some of the similarities between PySpark and Polars. It provides insights on when to choose one over the other by Vivek Kovvuru.
- Getting Started with the Polars Data Manipulation Library - A blog post that presents some simple features of Polars using Python by Juveriya Mahreen.
- 8 ways pandas really losing to Polars for quick market data analysis - A newsletter that compares the performance of Polars to Pandas for many common data manipulation techniques by PyQuant News.
- All that Polars that Make You Forget Pandas - A blog post that explores some deeper reasons behind the performance gains of Polars over Pandas.
- Polars vs Pandas. Inside an AWS Lambda - A blog post that covers the topic of using Polars vs Pandas inside an AWS Lambda to do data processing by @danielbeach. Code used is available on Github here.
- DuckDB vs Polars for Data Engineering - A blog post that compares Polars and DuckDB with pipelines for Data Engineering by @danielbeach.
- Pandas vs Polars: A database speed test. Who wins? - A blog post that compares the run-time of reading a database into a dataframe using Pandas versus using Polars by Thomas Reid.
- Polars and Pandas : What's the difference ? - A blog post that explains how Polars works under the hood and th best use cases for Polars and Pandas by @t-redactyl.
- Understanding the Polars nested column types - A blog post that helps to understand how nested column types works in Polars by @braaannigan.
- Polars vs DuckDB for Delta Lake ops - A blog post that compares Polars to DuckDB using Delta Lake by @wolliq.
- Enhancing Data Analytics with Polars and MinIO - A blog post that explains how to use Polars with Minio’s open-source object storage by @IndexSeek.
- Using Polars with Snowflake - A blog post that shows how to use Polars with Snowflake by @IndexSeek.
- Partitioning Polars DataFrame on S3 with Apache Arrow - A blog post that explains how to partition large Polars DataFrames in AWS S3 by Matteo Arellano.
- Goodbye Spark. Hello Polars + Delta Lake - An article that presents how to use Polars in addition to Delta Lake by @danielbeach.
- How to learn Polars with ChatGPT? - An article that explains how to learn fundamental Polars concepts with ChatGPT by Suhith Illesinghe.
- Date and DateTime Manipulation in Polars - A blog post that shows examples of doing a number of date and datetime manipulations in Polars (Python) by @danielbeach. Code used is available on Github here.
- Pandas2 and Polars for Feature Engineering - A blog post that A blog post that compares Pandas2 and Polars for Feature Engineering tasks with Python by @hopswork.
- Spark vs Polars. Real-life Test Case - A blog post in which the author tests whether Polars is able to handle "real amounts of data" and "really replace some production Spark workloads." by @danielbeach. Code used is available on Github here.
- Using Polars Plugins for a 14x Speed Boost with Rust - A blog post thats shows the use of Polars plugin system for Rust from some concrete examples by @ngriffiths13.
- Working with DateTime data in Polars - A blog post to helps you with the main operations that can be done with datetime data by Rielly Griffiths.
- Revolutionize Your Data Analysis: Polars Outperforms Pandas by Up to 5x in Numerical Filter Operations! - A blog post that compares Polars with Pandas by examining their performance in the real world by Daniel Builescu.
- Time series Analysis with Polars - A short blog post that explains how to deal with temporal datasets by @gaborschulz. Full helpful notebook available here.
- Interesting thread about Polars on Hacker News
- Level Up Your Data Analysis with Polars: A Powerful DataFrame Library for Speed and Efficiency - A blog post that describes the main features of Polars (with benchmarks) by ravi-m.
- polars’ Rgonomic Patterns - A blog post that deeps dive into some of the advanced data wrangling functionality in python’s Polars package by @emilyriederer.
- Great Tables: The Polars DataFrame Styler of Your Dreams - A post that shows how Great Tables package uses polars expressions to make delightful tables by @machow.
- Polars dataframe’s plugins and extensibility: getting started - A post that illustrates the possibility of extending the core Dataframe API of Polars with a few examples by @brunocous.
- 15 Pandas ↔ Polars ↔ SQL ↔ PySpark Translations - A post that depicts the 15 most common tabular operations in Polars and their corresponding translations in Pandas, SQL and PySpark by @ChawlaAvi.
- LazyFrame: Exploring Laziness in Dataframes from Polars in Python - A blog post that introduces LazyFrames with Polars an Python by Manoj Das.
- Data Statistics in Polars - A post that explains how to extract insightful information from your data in Polars by Alexandre Petit.
- Groupby in Polars - A post that explains how to Learn how to do group data using Polars by Alexandre Petit.
- DuckDB vs Polars - Thunderdome. - A blog post that compares Polars and DuckDB with the use of 16 GB of data on a machine of only 4 GB by @danielbeach.
- How moving from Pandas to Polars made me write better code without writing better code - A post that describs the process of "Polarification" of code written with Pandas by @duvenagep.
- Revisiting a Classic Cheminformatics Paper with Polars: The Wiener Index - A science blog post that uses Polars to track the information for the molecules in DataFrames by @bertiewooster.
- How to start using Polars & DuckDB together for data analysis - A post that demonstrates the usage of Polars with DuckDB to perform similar data transformations as is done using Pandas by @sumaniitm.
- Anatomy of a Polars Query: A Syntax Comparison of Polars vs SQL - A post that compares Polars syntax to SQL by @bfeif.
- Pandas vs. Polars — Time to Switch? - A blog post that compares Polars to Pandas in a series of 4 benchmarks performed on a csv file with 11 million rows by @daradecic.
- How to JOIN datasets in Polars … compared to Pandas - A blog post compares dataframe joins in Polars vs Pandas by @danielbeach.
- DuckDB vs Polars - Which One Is Faster? - An unofficial benchmark on DuckDB and Polars by @StuffbyYuki.
- Pandas vs Polars? Bid Adieu to Pandas and Switch To Polars! - An article that compares Polars to Pandas with a dataset of 1.2 GB. Code used is available on Github here.
- Polars vs. Pandas: 30 Comparison Functions - A reminder blog post that compares 30 functions written with Polars and Pandas by Yunuskaradagg.
- Polars vs. SQL: When to Choose Python for Your Data Adventures - A blog post that explores some common functions and their counterparts in both Polars and SQL by Yunuskaradagg.
- Age of DataFrames II: Polars Edition - A blog post that illustrates the features of Polars through the analysis of a tournament from the video game Age of Empires II by [@woutergins]. Source code available here
- Polars: A Modern DataFrame Library - An article that introduces to Polars design and its main features by @gox6.
- Mastering Polars: High-Efficiency Data Analysis and Manipulation - An article that provides a comprehensive introduction of Polars, highlighting its features and showcasing practical examples to get started.
- Encrypting data with Polars - A post that illustrates how to use the polars_encryption plugin to encrypt data with Polars by @zlobendog.
- Case Study Comparing Pandas and Polars with 1 Million Rows Data - An blog post that compares benchmarking scores with the Independent samples t-test and Welch’s t-test using Python.
- How to Move From Pandas to Polars - A blog post that explains how to move from Pandas to Polars using Pycharm by [@Cheukting].
- DuckDB vs Polars — Which One Is Faster? - An unofficial benchmark on DuckDB and Polars by Yuki Kakegawa.
- Polars: The Must-Know Data Frame Library Every Data Scientist Should Know - A blog post that provides a good first guide to the features of Polars by @AnsaBaby.
- Benchmarking energy usage and performance of Polars and pandas - A blog post by the Polars team itself benchmarking Polars and Pandas.
- Why I’m Switching to Polars - A blog post that explains the reasons why Ari Lamstein now uses Polars by @arilamstein.
- Polars: A Modern DataFrame Library for High-Performance Data Analysis in Python - An article that presents data manipulation operations focusing on eager execution by Ardi Arunaditya.
- Using Polars in Rust for high-performance data analysis - An article that looks how to use Polars to build a basic data analysis application, which exposes data sets and querying capabilities via a REST-based Web API by @Mario Zupan.
Talks and videos
- Polars: Blazingly Fast DataFrames in Rust and Python ⏳
37 min
- Introduction to Polars by databricks.
- Polars: The Next Big Python Data Science Library... written in Rust? ⏳
14 min
- A short video tutorial to get started coding with Polars by @RobMulla.
- The Last Polars Dataframe vs. Pandas Dataframe Video You Should Ever See ⏳
19 min
- A video that compares Polars and Pandas data frames.
- The Best library for building Data Pipelines... ⏳
12 min
- A video that compares Pandas, Spark and Polars for working with data in Python by @RobMulla.
- Expressive & fast dataframes in Python with polars ⏳
28 min
- A video that reviews some alternatives to Pandas for Python and then demonstrates some Polars features by Juan Luis Cano Rodríguez.
- Polars Introduction for Python with a 128GB Ryzen 24-core Benchmark vs Pandas ⏳
12 min
- A video that provides an introduction to Polars for Python by \@jeffheaton. Notebook used for the video in this github repo.
- Polars: The main alternative to pandas in Python!? ⏳
57 min
- A Polars tutorial series on Youtube by \@martinbel. Notebooks and datasets used for the videos available in this github repo.
- Polars vs Pandas ⏳
37 min
- A detailed video on Youtube that compares Polars and Pandas by \@hu-po.
- Polars: The Super Fast Dataframe Library for Python — Goodbye Pandas? - An article and a video ⏳
19 min
that explores some basic features of Polars by @ifrankandrade.
- Manipulación de Datos con Polars en python ⏳
51 min
- A detailed tutorial video in Spanish that shows 20 Polars functions to perform 80% of the tasks of a data scientist by Naren Castellon.
- An opinionated introduction to Polars - Great Polars introduction slides from @krlng at PyCon 2023.
- Polars - make the switch to lightning-fast dataframes ⏳
30 min
- A talk that reports an experience switching from Pandas to Polars in a real-world ML project by @datenzauberai. Slides are available here.
- Polars vs Pandas | detailed test with explained results ⏳
22 min
- A video that presents 8 distinct tests which demonstrates differences between Pandas and Polars by @vb100. Associated github repo is here.
- Polars: A highly optimized dataframe library ⏳
20 min
- A video that presents some mains features of Polars by @mattharrison.
- How to update mass data using Polars DataFrame ⏳
9 min
- A video that presents the process of writing code to update mass columns across CSV or data files by \@AmitXShukla. Notebook used for the video in this github repo.
- Using the Rust Polars DataFrame library in a CLI ⏳
4 min
- A video that shows how to integrate Polars in a commande line interface by \@paiml.
- The Ultimate Guide to Data Wrangling with Python | Rust Polars Data Frame ⏳
10 videos
- A playlist of 10 videos (WIP) that equips you with all the necessary knowledge required to utilize Python Polars Data Frame by \@AmitXShukla.
- Polars DataFrame ⏳ 41 min - A video that shows some basic manipulations with Polars and Python by @vedica1011. Notebook used for the video in this github repo.
- Why I switched grom Pandas to Polars ⏳ 53 min - A workshop that breaks down the 3 reasons why you could switched from Pandas to Polars by @bfeif. Notebook used for the video in this github repo.
- Delimiters in Python Polars ⏳ 15 min - A video that explains how to use delimiters in Python Polars by @CodeKlaudia.
- Intro to Polars ⏳ 7 videos - A playlist of 7 videos that introduces the basic concepts of Polars (DataFrames, filtering, splitting...) by Joram Mutenge.
- Machine Learning with Polars ⏳ 6 videos - A playlist of 6 videos that analyzing and cleaning data using Polars to train machine learning models by Joram Mutenge.
- Pandas and Polars with Marco Gorelli ⏳
55 min
- A podcast by The Developers' Bakery that compares the performance of Polars to Pandas by \@MarcoGorelli.
- Library of the week 13 : Polars with Python ⏳ 15 min - A video that presents Polars with Python by @enarroied. Article supplied with the video in this page.
- Polars is the Pandas killer | PyData Tel Aviv 2024 ⏳ 22 min - A video that shows how Polars is competing head to head with scale, speed and ease of use for dataframe solution in python by Igor Mintz.
- Polars-Cookbook in Python - Polars cookbook with organized by Python notebooks and chapter by @StuffbyYuki.
- Polars - An Optimized Dataframe Library ⏳ 84 min - A video that compares the main features of Polars with those of Pandas, with a focus on speeding up your data pipeline by @mattharrison.
- DataFrames on steroids with Polars ⏳ 42 min - A video that demonstrates Polars for Python and shows how much faster it is compared to pandas while remaining just as convenient by @prosoitos. Slides are available here.
- Pandas, Polars and the DataDrame Consortium ⏳ 25 min - A video that offers a detailed performance comparison between Polars and Pandas. This analysis serves as a foundation for the introduction of the DataFrame Consortium, which aims to standardize data manipulation libraries.
- Polars streaming data processing ⏳ 61 min - A video that provides a complete tutorial on the main methods used in Polars by Digital Program Life.
- Python: Polars Data Analysis ⏳ 59 min - A video that illustrates the main features of Polars by Digital Program Life.
- Integrate Polars DataFrame with Ollama ⏳ 12 min - A video that demonstrates how to integrate Polars with Ollama local models to do data analysis by @fahdmirza.
- Polars basics playlist - A playlist that introduces the basic features of Polars in an instructive way.
- Polars - SQL Interface for Querying DataFrames ⏳ 20 min - A video that shows how to use SQL to query the data in Polars DataFrames by @bugbytes-io.
- How to Learn the Polars DataFrame Library ⏳ 110 min - A long video that explains and illustrates the basic principles of Polars by @KeithGalli. Associated github repo is here.
- Polars with Plotly ⏳ 19 min - A video that shows the usage of Polars with the Plotly graphic library by Plotly. <>
- Polars and time series | PyData 2024 ⏳ 29 min - A video that shows how to use Polars effectively for time series analysis iby @MarcoGorelli.
- How to Learn the Polars DataFrame Library ⏳ 65 min - A video that enables to learn practical techniques for data manipulation and advanced transformations by @kimfetti. Associated github repo is here.
- Polars: Past, Present and Future with Ritchie Vink ⏳ 71 min - A video in which Jon Krohn talks with the creator of Polars, Ritchie Vink (@ritchie46), about why Polars is important, how it works, and where it's going by @jonkrohn.
- Understanding Polars Expressions when you're used to Pandas ⏳ 36 min - A video that explains how to understand expressions from a Pandas perspective by @marcogorelli.
Follow
Contributing
Thanks goes to these contributors!