<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Pandas at Scale on DATATWEETS</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/</link><description>Recent content in Pandas at Scale on DATATWEETS</description><generator>Hugo</generator><language>en</language><copyright>Copyright (c) 2026 Datatweets</copyright><lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0200</lastBuildDate><atom:link href="https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/index.xml" rel="self" type="application/rss+xml"/><item><title>Lesson 1 - Downcasting Numerics</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-1-downcasting-numerics/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0200</pubDate><guid>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-1-downcasting-numerics/</guid><description>Module 1 diagnosed the taxi data; this lesson delivers the first real fix. You&amp;rsquo;ll use pd.to_numeric(downcast=&amp;hellip;) and astype to narrow the integer IDs to int16/int8 and the money columns to float32, prove downcasting is lossless for integers and bounded for floats, understand why to_numeric refuses to downcast trip_distance, and measure the whole DataFrame fall from 22.5 MB to 15.8 MB — every number taken live on the 200,000-row sample.</description></item><item><title>Lesson 2 - Categoricals</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-2-categoricals/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0200</pubDate><guid>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-2-categoricals/</guid><description>The category dtype stores each distinct value once and gives every row a small integer code. On the real NYC taxi sample that cuts payment_type by 8x and a joined pickup-borough name column by nearly 17x. This lesson measures those wins live, shows the opposite case where a near-unique column costs more as a category, and previews why group-by on categoricals needs observed=True.</description></item><item><title>Lesson 3 - Efficient Operations &amp; Avoiding Copies</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-3-efficient-operations-and-copies/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0200</pubDate><guid>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-3-efficient-operations-and-copies/</guid><description>Many pandas operations return a fresh copy, and stacking copies is how a pipeline&amp;rsquo;s memory quietly doubles or triples in the middle of a run. This lesson shows which operations copy, demonstrates the chained-indexing trap honestly under pandas 3.0&amp;rsquo;s Copy-on-Write (the assignment raises ChainedAssignmentError and never reaches the original frame) and its correct single-.loc fix, then rebuilds a wasteful six-copy taxi pipeline as one lean method chain — measured at 106 MB versus 40 MB peak for a byte-identical result.</description></item><item><title>Lesson 4 - Fast Group-By &amp; Aggregation</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-4-fast-groupby-and-aggregation/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0200</pubDate><guid>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-4-fast-groupby-and-aggregation/</guid><description>Group-by is the workhorse of analytics, and this lesson makes it fast on 200,000 real NYC taxi trips. You&amp;rsquo;ll write clean named aggregations to get revenue and average fare by payment type and trips by hour of day, then see how observed=True on categorical keys collapses a 58,985-row Cartesian blow-up down to the 9,371 groups that actually exist. You&amp;rsquo;ll measure a .groupby().apply() against the equivalent .agg() and clock an ~11x speedup for identical numbers, and finish with transform to subtract each zone&amp;rsquo;s mean fare from every trip in one pass.</description></item><item><title>Lesson 5 - Guided Project: A Memory-Efficient Taxi Loader</title><link>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-5-guided-project-memory-efficient-taxi-loader/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0200</pubDate><guid>https://datatweets.com/courses/scaling-python-for-data-engineering/pandas-at-scale/lesson-5-guided-project-memory-efficient-taxi-loader/</guid><description>The capstone of Module 3. You measure a naive load of the full 2,964,624-row month (398.6 MB), then package everything from the module into one reusable load_taxi() function: keep only the columns the dashboard needs, downcast integers and floats to the smallest safe dtype, and turn payment type into a categorical. Loading the same month lean cuts memory to 115.9 MB — a measured 3.4x reduction, 70.9% saved, with every row intact — and you close by running a real revenue-by-payment-type analysis on the lean frame.</description></item></channel></rss>