notesonly.in

One notebook for every subject — open it anywhere.

Log in

Pandas and NumPy Fundamentals: Complete Beginner's Guide

Pandas and NumPy are the two core libraries of data work in Python. NumPy provides fast arrays — fixed-type, memory-efficient lists that can do math on millions of numbers in milliseconds. Pandas builds on NumPy to provide DataFrames: spreadsheet-like tables with labeled rows and columns, plus tools to filter, group, merge, and summarize data with one-liners.

They matter because almost every data pipeline in Python runs through them. Cleaning data, computing statistics, preparing features for machine learning — all of it is pandas and NumPy. Master these two and libraries like scikit-learn, Matplotlib, and Seaborn become far easier, since they all speak the same array-and-DataFrame language.

Key Concepts

  • ndarray: NumPy's n-dimensional array — every element has the same type, which makes math blazing fast.
  • Vectorization: operating on whole arrays at once instead of Python loops, for example arr * 2 multiplies every element.
  • Broadcasting: NumPy's rule for combining arrays of different shapes, like adding one number to a whole array.
  • Series: a pandas one-dimensional labeled array — a single column with an index.
  • DataFrame: a pandas two-dimensional table of Series sharing one index.
  • Index: the labels identifying rows; used for fast lookups and alignment.
  • GroupBy: pandas' split-apply-combine: split rows into groups, compute something per group, combine results.
  • NaN: "Not a Number", pandas' marker for missing data.

How It Works

  1. Load data: pd.read_csv("sales.csv") turns a file into a DataFrame instantly.
  2. Inspect: df.head(), df.info(), and df.describe() show the shape, types, and summary statistics.
  3. Select and filter: df["price"] picks a column; df[df["price"] > 100] keeps matching rows.
  4. Clean: df.dropna() removes gaps, df.fillna(0) fills them, df.drop_duplicates() removes repeats.
  5. Transform with NumPy: np.log(df["income"]) or arr.mean() compute over whole arrays at once.
  6. Group and aggregate: df.groupby("city")["sales"].mean() gives average sales per city.
  7. Combine: pd.merge() joins tables on shared keys, like SQL joins.
  8. Export: df.to_csv() or df.to_excel() writes the result back out.

Worked Example

Weekly shop sales in rupees as a NumPy array: [200, 250, 300, 150, 350].

  1. Total = 200 + 250 + 300 + 150 + 350 = 1250 (np.sum(arr)).
  2. Mean = 1250 / 5 = 250 (arr.mean()).
  3. Days above the mean: values 300 and 350 → 2 days (arr[arr > 250] selects them).
  4. Add 7% tax to each: arr * 1.07 = [214, 267.5, 321, 160.5, 374.5] — one vectorized line, no loop. Check: 200 × 1.07 = 214, 250 × 1.07 = 267.5, 300 × 1.07 = 321, 150 × 1.07 = 160.5, 350 × 1.07 = 374.5.

In pandas, pd.Series([200, 250, 300, 150, 350]).mean() gives the same 250, and grouping by a "store" column would compute it per store automatically.

Common Misconceptions

  • "pandas is just Excel in Python." It overlaps with Excel, but pandas scripts handle millions of rows reproducibly and connect to the whole Python ecosystem.
  • "Loops are fine for small data." Even on small data, vectorized NumPy code is shorter and clearer; on big data it is hundreds of times faster.
  • "NumPy arrays and Python lists are the same." Lists hold mixed types and are slow for math; arrays are typed, compact, and vectorized.

Real-World Applications

  • Finance: analysts compute portfolio returns and risk metrics over millions of price rows with NumPy.
  • Retail: sales DataFrames are grouped by store, product, and month for reporting.
  • Machine learning: datasets are cleaned and transformed in pandas before training.
  • Science: sensor readings are processed as NumPy arrays in physics, biology, and climate research.

Pandas turns messy tables into tidy ones; NumPy turns slow loops into fast math. Together they are the working language of data in Python. Practice selecting, filtering, grouping, and vectorizing until they feel automatic — everything built on top of them will then click into place.