Metadata-Version: 1.1
Name: la
Version: 0.4.0
Summary: Label the rows, columns, any dimension, of your NumPy arrays.
Home-page: http://larry.sourceforge.net
Author: Keith Goodman
Author-email: larry-discuss@lists.launchpad.net
License: Simplified BSD
Download-URL: http://pypi.python.org/pypi/la
Description: 
        Who's larry?
        ============
        
        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).
        
        Here's larry in schematic form:
        
        ::
        
        date1    date2    date3
        'AAPL'   209.19   207.87   210.11
        y = 'IBM'    129.03   130.39   130.55
        'DELL'    14.82    15.11    14.94
        
        The larry above is stored internally as a `Numpy <http://www.numpy.org>`_
        array and a list of lists:
        
        ::
        
        y.label = [['AAPL', 'IBM', 'DELL'], [date1, date2, date3]]
        y.x = np.array([[209.19, 207.87, 210.11],
        [129.03, 130.39, 130.55],
        [ 14.82,  15.11,  14.94]])
        
        A larry can have any number of dimensions except zero. Here, for example, is
        one way to create a one-dimensional larry:
        
        ::
        
        >>> import la
        >>> y = la.larry([1, 2, 3])
        
        In the statement above the list is converted to a Numpy array and the labels
        default to ``range(n)``, where *n* in this case is 3.
        
        larry has built-in methods such as **movingsum, ranking, merge, shuffle,
        zscore, demean, lag** as well as typical Numpy methods like **sum, max, std,
        sign, clip**. NaNs are treated as missing data.
        
        Alignment by label is automatic when you add (or subtract, multiply, divide)
        two larrys.
        
        You can archive larrys in HDF5 format using **save** and **load** or using a
        dictionary-like interface:
        
        ::
        
        >>> io = la.IO('/tmp/dataset.hdf5')
        >>> io['y'] = y   # <--- save
        >>> z = io['y']   # <--- load
        >>> del io['y']   # <--- delete from archive
        
        For the most part larry acts like a Numpy array. And, whenever you want,
        you have direct access to the Numpy array that holds your data. For
        example if you have a function, *myfunc*, that works on Numpy arrays and
        doesn't change the shape or ordering of the array, then you can use it on a
        larry, *y*, like this:
        
        ::
        
        y.x = myfunc(y.x)
        
        larry adds the convenience of labels, provides many built-in methods, and
        let's you use your existing array functions.
        
        ===============   ========================================================
        code              http://github.com/kwgoodman/la
        docs              http://larry.sourceforge.net
        list 1            http://groups.google.ca/group/pystatsmodels
        list 2            http://groups.google.com/group/labeled-array
        ===============   ========================================================
        
        
Platform: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering
Requires: numpy
