# [Numpy-discussion] [ANN] la 0.4, the labeled array

Keith Goodman kwgoodman@gmail....
Tue Jul 6 10:40:56 CDT 2010

```The main class of the la package is a labeled array, larry. A larry
consists of data and labels. The data is stored as a NumPy array and
the labels as a list of lists (one list per dimension).

Alignment by label is automatic when you add (or subtract, multiply,
divide) two larrys.

The focus of this release was binary operations between unaligned
larrys with user control of the join method (five available) and the
fill method. A general binary function, la.binaryop(), was added as
were the convenience functions add, subtract, multiply, divide.
Supporting functions such as la.align(), which aligns two larrys, were

doc  http://larry.sourceforge.net
code  http://github.com/kwgoodman/la

RELEASE NOTES

New larry methods

- ismissing: A bool larry with element-wise marking of missing values
- take: A copy of the specified elements of a larry along an axis

New functions

- rand: Random samples from a uniform distribution
- randn: Random samples from a Gaussian distribution
- missing_marker: Return missing value marker for the given larry
- ismissing: A bool Numpy array with element-wise marking of missing values
- correlation: Correlation of two Numpy arrays along the specified axis
- split: Split into train and test data along given axis
- listmap_fill: Index map a list onto another and index of unmappable elements
- listmap_fill: Cython version of listmap_fill
- align: Align two larrys using one of five join methods
- info: la package information such as version number and HDF5 availability
- binaryop: Binary operation on two larrys with given function and join method
- add: Sum of two larrys using given join and fill methods
- subtract: Difference of two larrys using given join and fill methods
- multiply: Multiply two larrys element-wise using given join and fill methods
- divide: Divide two larrys element-wise using given join and fill methods

Enhancements

- listmap now has option to ignore unmappable elements instead of KeyError
- listmap.pyx now has option to ignore unmappable elements instead of KeyError
- larry.morph() is much faster as are methods, such as merge, that use it

Breakage from la 0.3

- Development moved from launchpad to github
- func.py and afunc.py renamed flarry.py and farray.py to match new flabel.py.
Broke: "from la.func import stack"; Did not break: "from la import stack"
- Default binary operators (+, -, ...) no longer raise an error when no labels
overlap

Bug fixes

- #590270 Index with 1d array bug: lar[1darray,:] worked; lar[1darray] crashed
```