numpy
- Repo stars 2,412
- License NOASSERTION
- Author repo debugpy
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.
- Fluxly category
- Other
- Author-declared agents
- No explicit declaration found; this is not inferred or tested compatibility
- Static check
- 94 / 100 · heuristic scan, not runtime safety proof
- Author / version / license
- @microsoft · NOASSERTION
- Fluxly token estimate
- Lean
- Fluxly setup estimate
- Plug-and-play
- External API key
- No requirement detected
- Detected OS requirements
- Unspecified
- Runtime requirements
- Python
- Detected file/system behavior
-
- Read-only
- Detected network behavior
- Local-only
- Install commands
- None (reference only)
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
The current SKILL.md does not define a fixed output example. Apply this skill when doing numerical computing with NumPy — arrays, broadcasting, linear algebra, random sampling.
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.
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.
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.
Use np.random.defaultrng(seed) (new Generator API) instead of np.random.seed(). Always seed random generators in tests for reproducibility.
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.
# 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`. Author text anchors workflow facts; Fluxly only indexes current sections, terms, files, and commands.
sections -> When to Use → Arrays → Vectorization → Memory → Random → Pitfalls
terms -> Best practices for numerical computing with NumPy including arrays, broadcasting, and vectorization. · Apply this skill when doing numerical computing with NumPy — arrays, broadcasting, linear algebra, random sampling. · - Use explicit dtypes (np.float64, np.int32) when creating arrays. · - Replace Python loops with vectorized NumPy operations wherever possible. · - Use np.float32 instead of np.float64 when precision is not critical to halve memory. · - Use np.random.defaultrng(seed) (new Generator API) instead of np.random.seed(). · - Don't compare floats with ==; use np.allclose() or np.isclose().
files/cmd -> np.float64 · np.int32 · np.zeros · np.ones · np.empty · np.arange · np.linspace · np.where()
body sha256 -> 740c7c1c0c8b
Decide Fit First
Design Intent
How To Use It
Boundaries And Review