News for hackers. Stuff that matters.
Re:Farewell Pandas, and thanks for all the fish by amelius on Thursday August 29, 2024 @11:15AM (#41391652)
Good riddance.

Pandas turns 10x programmers into 1x programmers.

Re:Farewell Pandas, and thanks for all the fish by data-ottawa on Thursday August 29, 2024 @11:38AM (#41391944)
I've been using pandas for over a decade and I'm very efficient with it.

The Modern Pandas blog series from Tom Augsburger is excellent, and the old Wes McKinney book (creator of pandas) gave a good glimpse into how to effectively use it.

I don't think many people learn it correctly so it gets used in a very inefficient and spaghetti script style.

It's definitely a tool that's showing it's age, but it's still a very effective swiss army knife for data processing.

I am glad we're getting better alternatives, Hadley Wickams tidyverse really showed what data processing can be.

Re:Farewell Pandas, and thanks for all the fish by scrlk on Thursday August 29, 2024 @12:13PM (#41392362)
I also recommend Matt Harrison's talks ("Idiomatic Pandas") and book ("Effective Pandas").

Once I adopted method chaining, a lot of the issues that I had with pandas in the past due to poor style (e.g. SettingWithCopyWarning) pretty much disappeared.

Re:Farewell Pandas, and thanks for all the fish by throwway_278314 on Thursday August 29, 2024 @12:07PM (#41392283)
Just imagine how much more efficient you would be if you were using R's DataTable.

Look, I applaud your skill, but at some point even a master craftsman realizes that the swiss army knife may not be the best tool, and a leatherman offers certain advantages.

Re:Farewell Pandas, and thanks for all the fish by data-ottawa on Thursday August 29, 2024 @12:20PM (#41392442)
I really like R’s library and I’ll use them any chance I get (libraries like lmer are still orders of magnitude more efficient than the same model in Statsmodels).

From my experience the biggest impediment to using R in production is many orgs don’t have a blessed way to run it.

R is my favourite language for data processing, the manual section Computing on the Language[1]is why R is such an ergonomic tool. I had hoped Julia would catch up, but Julia’s macros are not comparable in their depth.

I think pandas is probably the data equivalent of editing files using default vim or processing data with awk.

[1] https://rstudio.github.io/r-manuals/r-lang/Computing-on-the-...

Re:Farewell Pandas, and thanks for all the fish by cpcloud on Thursday August 29, 2024 @01:21PM (#41393134)
As a joke, I wrote an Ibis backend (https://github.com/cpcloud/ibish) that processes expressions using shell commands strung together with named pipes. It supports joins using the coreutils join command, projections, filters and some aggregations with awk.

It's faster than pandas in some cases and folks should put it into production immediately!

Re:Farewell Pandas, and thanks for all the fish by cpcloud on Thursday August 29, 2024 @12:17PM (#41392399)
Sometimes I write data analysis code in R to make myself aware of how it is occasionally possible to have nice things.
Re:Farewell Pandas, and thanks for all the fish by codyvoda on Thursday August 29, 2024 @11:40AM (#41391986)
fun fact if you weren't aware, Ibis was also originally created by Wes McKinney and takes a lot of inspiration from the tidyverse
Re:Farewell Pandas, and thanks for all the fish by data-ottawa on Thursday August 29, 2024 @12:16PM (#41392388)
I was not aware of that, the influence from the tidyverse is very clear

I’ve tried to make mockups of similarly inspired API and I think they did a great job with clever tricks like the `_` reference (does that clash with IPython/Jupyter’s use?).

I do wonder how they manage compatibility with so many backends, it seems like many features will be directly tied to your backend (e.g. Trino using Java Pattern for regex vs BigQuery using Re2) in hard to explain ways. But maybe that’s not a big concern, because very often you’re only going to be using a couple of backends.

I’ll have to try Ibis out for myself, it looks like it can unify a lot of the work I have to do. I’ve moved away from pandas for all but the last mile of computation, so this might be a direct good SQL replacement.

Re:Farewell Pandas, and thanks for all the fish by cpcloud on Thursday August 29, 2024 @12:26PM (#41392512)
`_` definitely clashes with IPython and Jupyter's use of it.

However, if you import it from Ibis then it ceases to be used as "most recent result" and remains the ibis underscore object (unless of course you explicitly assign it to something else).

Regarding backend compatibility, there are definitely a few kinds of things that we don't currently abstract over. One is regular expression syntax and another is floating point math (e.g., various algebraic properties that are violated that result in slightly different outputs).

Hope you give it a go, and please report issues at https://github.com/ibis-project/ibis.

Re:Farewell Pandas, and thanks for all the fish by data-ottawa on Thursday August 29, 2024 @12:57PM (#41392890)
Thanks for the reply!

I think that’s the right policy to take, and I did notice the support matrix on your website which addresses my earlier question:

https://ibis-project.org/backends/support/matrix

Re:Farewell Pandas, and thanks for all the fish by __mharrison__ on Thursday August 29, 2024 @11:52AM (#41392116)
Curious if you could expand on this?
Re:Farewell Pandas, and thanks for all the fish by Kalanos on Thursday August 29, 2024 @02:15PM (#41393729)
Lol. As if different tools for filtering rows/columns determines a programmer's capability.