
numpy
✓ Official★ 2,400by microsoft · part of microsoft/debugpy
Best practices for numerical computing with NumPy including arrays, broadcasting, and vectorization.
🔥🔥🔥🔥✓ VerifiedFreeQuick setup
🧰 Not standalone. This skill ships with microsoft/debugpy and only works together with that tool — install the tool first, then add this skill.
This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.
name: numpy description: Best practices for numerical computing with NumPy including arrays, broadcasting, and vectorization.
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.linspaceover 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.float32instead ofnp.float64when precision is not critical to halve memory. - Use views (
reshape, slicing) instead of copies when data doesn't need mutation. - Use
np.memmapfor arrays too large to fit in RAM.
Random
- Use
np.random.default_rng(seed)(new Generator API) instead ofnp.random.seed(). - Always seed random generators in tests for reproducibility.
Pitfalls
- Don't compare floats with
==; usenp.allclose()ornp.isclose(). - Beware of silent integer overflow in integer arrays.
- Avoid
np.matrix— it's deprecated; use 2Dnp.ndarray.
Copy & paste — that's it
npx skills add https://github.com/microsoft/debugpy --skill numpyRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.