Live data from Hacker News

Pandas Exercises for Data Analysis (Interactive)

machinelearningplus.com

21–30 of 35 posts

Re: Pandas Exercises for Data Analysis (Interactive)

#21
post #8
post #4

Dope. I've just started using Pandas in some personal projects, and am quickly hitting my knowledge ceiling. I think this will be useful. I'll check it out properly after work.

If I were investing effort into acquiring knowledge in this domain, I'd skip straight to Polars. Before I made the switch, I had been using Pandas on and off for more than a decade. I'm not sure how representative this is, but most of the people I know who were Pandas users have also made this switch. I initially did it for the performance improvements but the API (according to my subjective opinion) is much more log…

> [Polars] is much more logical and has far fewer surprises compared to Pandas

A kind understatement imo. For me, the following experiences are highly coupled in my brain: "I'm using Pandas" + "I'm feeling a weird combination of confusion and pain" + "This is a dumpster fire".

Re: Pandas Exercises for Data Analysis (Interactive)

#22
post #4

Dope. I've just started using Pandas in some personal projects, and am quickly hitting my knowledge ceiling. I think this will be useful. I'll check it out properly after work.

You should check out the Modern Pandas series by Tom Augspurger, it’s well worth reading to get clean modern style code. https://tomaugspurger.net/posts/modern-1-intro/

also I would recommend looking at videos from matt harrison for polars or pandas, e.g.:

https://www.youtube.com/watch?v=Z9ekw2Ou3s0

Re: Pandas Exercises for Data Analysis (Interactive)

#23
You'll get a lot of responses saying Polars is better than Pandas. I argue those people are missing the point and don't understand Pandas' real strength or why people choose Pandas today.

Pandas was never meant to be a technologist's tool. It was meant to be a researcher's tool and was unfortunately coopted to be a technical solution as well. It has not well escaped it's roots.

Pandas is fantastic for doing iterative and interactive research on semi-structured data. It has a lot of QoL facilities and utility functions for seamlessly dealing with exploratory timeseries analytics for in-core data. Data that fits into memory.

For example, I can take two time series and calculate their product:

ts3 = ts1 * ts2

This one line does a huge amount of heavily lifting by automatically aligning the timestamps and columns between the two inputs so that I'm not accidentally multiplying two entries that have the same ordinal but not the same timestamp or column label.

Can I do the same with Polars? Yes, but it comes with exponentially more cognitive overhead. And this is just one example.

Pandas is ultimately a flawed product as it's origin's go back more than a decade where R's dataframe was cutting edge. A lot of innovation happened since then and the API and internals of Pandas mean that certain choices that were made early on are nontrivial to change.

This doesn't change the fact that Pandas is still immensely useful. Eventually perhaps Polars will come close to it, but so far the focus wasn't on interactive use ergonomics unfortunately.

As it stands, I use pandas for research and polars for production systems.

Re: Pandas Exercises for Data Analysis (Interactive)

#24
post #13

Earlier quoted context omitted.

It's less about performance and more about ecosystem lockin. It's a bit like imperial vs metric units. Why would you ever chose to learn imperial if you had the option to only ever use metric to begin with?

That's exactly why I am reluctant to do anything with Polars. They are actively running a company and trying to sell a product. At any point they could be acquired and change the license for new releases. Sure you could fork it, or stay on an older version, but if what they offer isn't compelling enough for you then why take the risk? Pandas on the other hand has been open source for almost two decades, and is suppor…

I would broaden the list of risks:

- Pandas is interwoven into downstream projects. So it will be here to stay for a long time. This is good for maintenance and stability. Advantage: Pandas.

- OTOH, the Pandas experience is awful; this was obvious to many from the outset, and yet it persisted. I haven't tracked the history. But my guess would be the competition from Polars was a key pressure for improvement. Edge: Polars.

- Lots of Python projects are moving to Rust-backed tooling: uv, Polars, etc. Front-end users get the convenience of Python and tool-developers get the confidence & capabilities of Rust. Edge: Polars.

- Pandas has a governance structure not tied to one company. Polars does not. (comment above said this) Advantage: Pandas.

But this could change. Polars users could (and may already be?) pressing for company-independent governance.

Re: Pandas Exercises for Data Analysis (Interactive)

#29

I don't hear much about Ibis here. https://ibis-project.org On paper it sounds like a good idea. Any opinion about this option.

Ibis is great! Used it with duckdb & Snowflake. Worked well for these backends

Ive used it but definitely ran into issues where Ibis couldnt handle a transformation and had to move back into Polars or DuckDB to do. I just eventually stripped it out.
Post reply on HN