numpy

Installation
SKILL.md

Skill: NumPy

Best practices for numerical computing with NumPy including arrays, broadcasting, and vectorization.

When to Use

Apply this skill when doing numerical computing with NumPy — arrays, broadcasting, linear algebra, random sampling.

Arrays

  • Use explicit dtypes (np.float64, np.int32) when creating arrays.
  • Prefer np.zeros, np.ones, np.empty, np.arange, np.linspace over list-based construction.
  • Use structured arrays or separate arrays instead of object arrays.

Vectorization

  • Replace Python loops with vectorized NumPy operations wherever possible.
  • Use broadcasting rules to operate on arrays of different shapes without explicit expansion.
  • Use np.where() for conditional element-wise operations.

Memory

  • Use np.float32 instead of np.float64 when precision is not critical to halve memory.
  • Use views (reshape, slicing) instead of copies when data doesn't need mutation.
  • Use np.memmap for arrays too large to fit in RAM.

Random

  • Use np.random.default_rng(seed) (new Generator API) instead of np.random.seed().
  • Always seed random generators in tests for reproducibility.

Pitfalls

  • Don't compare floats with ==; use np.allclose() or np.isclose().
  • Beware of silent integer overflow in integer arrays.
  • Avoid np.matrix — it's deprecated; use 2D np.ndarray.
Weekly Installs
2
GitHub Stars
2.4K
First Seen
3 days ago