Marc Garcia retweeted
The early design decisions for the Categorical type were under strain because of our streaming engine. Every data chunk carried its own mapping between the categories and their underlying physical values, forcing constant re-encoding. The global StringCache we built to solve it and wasn't designed for a distributed architecture.
The new Categories object, released in 1.31, solves this, and gives you:
• Control over the physical type (UInt8/16/32)
• Named categories with namespaces
• Parallel updates without locks
• Automatic garbage collection
When you know the categories up front you can use Enums. They're faster because of their immutability and allow you to define the sorting order of values.
The StringCache is now a no-op, but the code will keep working how it used to (with global Categories). You can also migrate by replacing it with explicit Categories where needed.
The result is a Categoricals data type that works well on the streaming engine without performance degradation, and is compatible with a distributed architecture.
Read the full deep dive: pola.rs/posts/categori…
The new Categories object, released in 1.31, solves this, and gives you:
• Control over the physical type (UInt8/16/32)
• Named categories with namespaces
• Parallel updates without locks
• Automatic garbage collection
When you know the categories up front you can use Enums. They're faster because of their immutability and allow you to define the sorting order of values.
The StringCache is now a no-op, but the code will keep working how it used to (with global Categories). You can also migrate by replacing it with explicit Categories where needed.
The result is a Categoricals data type that works well on the streaming engine without performance degradation, and is compatible with a distributed architecture.
Read the full deep dive: pola.rs/posts/categori…
1
9
64
5,583
pandas 3 has been released and marks the most significant evolution of #pandas in over ten years.
No more `copy()` everywhere, and no more `lambda` gymnastics.
Want examples? Read this hands-on article with the main changes: datapythonista.me/blog/whats-new…
No more `copy()` everywhere, and no more `lambda` gymnastics.
Want examples? Read this hands-on article with the main changes: datapythonista.me/blog/whats-new…
8
30
216
15,012
#pandas 3 is faster, and more intuitive. I just published an article with practical examples explaining the main improvements: datapythonista.me/blog/whats-new…
1
5
33
4,731
I'll be giving a workshop on #DataAnalysis with #Python and #Polars at the next #PyData #ChiangMai. Limited seats, in-person only.
meetup.com/pydata-chiang-…
meetup.com/pydata-chiang-…
0
0
4
365
We just reorganized the pandas ecosystem page. Is it clearer? Anything missing or not useful? Feedback welcome
pandas.pydata.org/community/ecos…
pandas.pydata.org/community/ecos…
0
0
0
300
Marc Garcia retweeted
We're happy to announce the release of #pandas 2.3.0. You can install it with `pip install pandas` or `conda install -c conda-forge pandas`. Thanks to all contributors and sponsors who made this release possible! The release notes can be found at: pandas.pydata.org/docs/whatsnew/…
3
8
74
6,708
Marc Garcia retweeted
Tech occupations have been among the hardest hit by steep declines in hiring since 2018, per BI;
75
85
407
122,560
Marc Garcia retweeted
Possibly the greatest single male athletic performance of all time
3,167
34,371
418,732
28,537,306
Marc Garcia retweeted
Today we are launching the first open Crash Course training sessions with a limited time discount. These instructor-led sessions are open to everyone looking to get up and running with Polars.
Find a date and sign up via our Academy: pola.rs/academy/
Find a date and sign up via our Academy: pola.rs/academy/
1
8
60
4,583
Marc Garcia retweeted
I've written a blog about Tonbo's research on async Rust and io_uring:
tonbo.io/blog/async-rus…
We need to be careful to avoid the cancellation problem when using async Rust and io_uring together.
tonbo.io/blog/async-rus…
We need to be careful to avoid the cancellation problem when using async Rust and io_uring together.
4
42
281
30,392
















