This is an archival dump of old wiki content --- see for current material

Numpy Manual TOC

This is a suggestion on what to put in the narrative documentation for Numpy.

The aim here is to write narrative documentation that illustrates how Numpy is best used in practice, demonstrating various features it offers, with examples and enlightened discussion.

Below, a draft for the table of contents is listed. It is formed by looking at

and stealing whatever seemed good to include. It's a rough draft, and probably needs tuning at various points. Also, I'm aware not all of Numpy is there now, so additions should also be made.

  1. Introduction to Numpy

    1. What it is
    2. What is there: a very high-level overview
    3. Conventions in this manual
  2. Installing Numpy

    1. Instructions for getting binaries
    2. Instructions for building from source, on different platforms
  3. Basics of arrays
  1. What is an array
  2. Storing data in arrays

    1. Arrays as literals
    2. Creating arrays: empty, zeros, ones, ...
    3. Saving/loading to a file: text, npz -> point to other IO routines
  3. Extracting data from arrays

    1. Basic indexing and slicing
    2. Simple fancy indexing
    3. Finding items in arrays

      1. comparisons, logic operations, indexing based on them
      2. where, searchsorted
    4. Advanced indexing on arrays: ellipsis, newaxis
  4. Views and copies of arrays

    1. Demonstrate that slicing in general creates views
  5. Modifying contents of arrays

    1. Setting data in arrays via indexing
    2. add, multiply subtract
    3. in-place operations (+ the common indexing caveat!)
    4. sum, mean, min, max, ...
    5. remark on ufuncs: common methods
    6. Operating on an axis of an array
  6. Broadcasting
  7. Joining, splitting arrays and changing their shape

    1. *stack, *split

      System Message: WARNING/2 (<string>, line 69); backlink

      Inline emphasis start-string without end-string.

      System Message: WARNING/2 (<string>, line 69); backlink

      Inline emphasis start-string without end-string.
    2. reshape
    3. resize
  8. Working with different types of data: integers, floats, complex, strings...

    1. Basic creation of arrays with certain data types
    2. Building up data type objects
    3. Casting and converting array data, automatic casting, coercion
  9. Advanced data types and structured arrays

    1. Creating structured arrays
    2. Defining them: literals, loading from files
    3. Accessing data in them
  1. Other topics

    1. Working with missing data

      1. NaNs as masking
      2. Masked arrays
    2. Linear algebra and matrices
    3. Working with polynomials
    4. Floating point issues: errors, error handling, inaccuracy, etc.
    5. Fourier transforms
    6. Generating random numbers
    7. Building and testing packages using Numpy
    8. Financial calculations with Numpy
  2. Extending Numpy

    1. Subclassing numpy arrays
    2. Array interface
    3. Ctypes support in Numpy
    4. Cython? Pyrex? F2Py?
    5. Writing C extensions using Numpy

      1. Basics
      2. Iteration
      3. Ufuncs
      4. Data types
      5. Subclassing in C
  3. Numpy internals

    1. Memory model
    2. Data type stuff
    3. Ufuncs
    4. etc?
  4. Reference

    <insert our current "reference manual" here as-is and factor out any duplication later on>

SciPy: Developer_Zone/UG_Toc (last edited 2015-10-24 17:48:26 by anonymous)