Why does pandas code often feel ugly and clunky compared to the equivalent SQL? Is there no better way to do this?
The general strategy is to build the core of any dataset as a SQL query that handles joins and performance-sensitive parts of the query, then polish/plot/yeet into weird shapes with Pandas since it offers much greater expressivity.