numpy basicsPython

numpy basics

data science ml

Run notebook
Concept Lesson
Advanced
13 min

Learning Objective

Understand numpy basics well enough to explain it, recognize it in Python, and apply it in a small task.

Why It Matters

This concept is part of the foundation that later lessons and projects assume you already understand.

NumpyScienceCreating ArraysArray Operations VectorizedIndexing And Slicing
Private notes
0/8000

Notes stay private to your browser until account sync is configured.

numpy basics
1 min read16 headings

Converted from 01_numpy_basics.ipynb for web reading.

Code cell 1

import numpy as np
print(f"NumPy version: {np.__version__}")

Creating Arrays

Code cell 3

# From Python lists
arr1d = np.array([1, 2, 3, 4, 5])
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

print(f"1D Array: {arr1d}")
print(f"2D Array:\n{arr2d}")
print(f"Shape: {arr2d.shape}, Dtype: {arr2d.dtype}")

Code cell 4

# Special arrays
zeros = np.zeros((2, 3))
ones = np.ones((2, 3))
identity = np.eye(3)
range_arr = np.arange(0, 10, 2)
linspace = np.linspace(0, 1, 5)

print(f"Zeros:\n{zeros}")
print(f"\nIdentity:\n{identity}")
print(f"\nRange: {range_arr}")
print(f"Linspace: {linspace}")

Code cell 5

# Random arrays
np.random.seed(42)
random_uniform = np.random.rand(3)       # [0, 1) uniform
random_normal = np.random.randn(3)       # Normal distribution
random_int = np.random.randint(1, 10, 5) # Random integers

print(f"Random uniform: {random_uniform}")
print(f"Random normal: {random_normal}")
print(f"Random integers: {random_int}")

Array Operations (Vectorized)

Code cell 7

a = np.array([1, 2, 3, 4, 5])
b = np.array([10, 20, 30, 40, 50])

print(f"a = {a}")
print(f"b = {b}")
print(f"a + b = {a + b}")
print(f"a * b = {a * b}")
print(f"a ** 2 = {a ** 2}")
print(f"np.sqrt(a) = {np.sqrt(a)}")

Code cell 8

# Aggregations
print(f"sum: {a.sum()}, mean: {a.mean():.2f}, std: {a.std():.2f}")
print(f"min: {a.min()}, max: {a.max()}")
print(f"cumsum: {np.cumsum(a)}")

Indexing and Slicing

Code cell 10

arr = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12]])

print(f"Array:\n{arr}")
print(f"\narr[0, 0] = {arr[0, 0]}")
print(f"arr[1, 2] = {arr[1, 2]}")
print(f"First row: {arr[0, :]}")
print(f"First column: {arr[:, 0]}")
print(f"Subarray [0:2, 1:3]:\n{arr[0:2, 1:3]}")

Boolean Indexing

Code cell 12

data = np.array([1, 5, 3, 8, 2, 9, 4, 7])
print(f"Data: {data}")
print(f"data > 5: {data > 5}")
print(f"data[data > 5] = {data[data > 5]}")

Broadcasting

Code cell 14

# Different shapes automatically align
matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])
row = np.array([10, 20, 30])
col = np.array([[100], [200], [300]])

print(f"Matrix:\n{matrix}")
print(f"\nMatrix + row:\n{matrix + row}")
print(f"\nMatrix + col:\n{matrix + col}")

Reshaping

Code cell 16

arr = np.arange(12)
print(f"Original: {arr}")

reshaped = arr.reshape(3, 4)
print(f"\nReshaped (3, 4):\n{reshaped}")
print(f"\nTransposed:\n{reshaped.T}")
print(f"\nFlattened: {reshaped.flatten()}")

Skill Check

Test this lesson

Answer 4 quick questions to lock in the lesson and feed your adaptive practice queue.

--
Score
0/4
Answered
Not attempted
Status
1

Which module does this lesson belong to?

2

Which section is covered in this lesson content?

3

Which term is most central to this lesson?

4

What is the best way to use this lesson for real learning?

Your answers save locally first, then sync when account storage is available.
Practice queue