EJEshan Jaininblog.itseshan.space·Mar 22 · 9 min readA Deep Dive into NumPy Boolean Logic, Masks, and ComparisonsIn our previous explorations of NumPy, we learned how to compute aggregations (like the mean or max) over an entire dataset or along specific axes. But in real-world data science, you rarely want to s10
EJEshan Jaininblog.itseshan.space·Mar 22 · 10 min readNumPy Broadcasting: Vectorizing Arrays of Different ShapesIn our previous masterclasses, we uncovered the severe performance bottlenecks of standard Python for loops and solved them using Universal Functions (UFuncs). UFuncs allow us to vectorize operations,10
EJEshan Jaininblog.itseshan.space·Mar 22 · 9 min readUnlocking Exploratory Data Analysis: A Masterclass in NumPy Aggregations and Summary StatisticsWhen you are first handed a massive dataset—whether it's millions of telescope images, a decade of financial records, or a database of user clicks—the sheer volume of numbers is completely incomprehen10
EJEshan Jaininblog.itseshan.space·Mar 22 · 11 min readComputation On Numpy: Mastering NumPy Universal Functions, Vectorization, and Memory OptimizationUp until now, we have discussed the fundamental architecture of NumPy: how it allocates contiguous memory blocks to solve the fragmentation issues of standard Python lists. But efficient storage is on10
EJEshan Jaininblog.itseshan.space·Mar 22 · 11 min readNumPy Array Manipulation: Indexing, Slicing, Reshaping, Joining, and SplittingIn our previous deep-dive, we explored the hidden memory costs of standard Python lists and learned how to generate lightning-fast, fixed-type NumPy arrays from scratch. But generating data is only th10