dbase

Date:2007-01-19 (last modified), 2007-01-07 (created)

NOTE: You may want to use pandas instead of this.

The dbase.py class, can be used to read/write/summarize/plot time-series data.

To summarize the functionality:

  1. data and variable names stored in a dictionary - accessible using variable names
  2. load/save from/to csv/pickle format, including date information (shelve format to be added)
  3. plotting and descriptive statistics, with dates if provided
  4. adding/deleting variables, including trends/(seasonal)dummies
  5. selecting observations based on dates or other variable values (e.g., > 1/1/2003)
  6. copying instance data

Attached also the dbase_pydoc.txt information for the class.

Example Usage

To see the class in action download the file and run it (python dbase.py). This will create an example data file (./dbase_test_files/data.csv) that will be processed by the class.

To import the module:

In [1]:
import sys
sys.path.append('attachments/dbase')
import dbase

After running the class you can load the example data using

In [2]:
data = dbase.dbase("../_static/items/attachments/dbase/data.csv", date = 0)

In the above command '0' is the index of the column containing dates.

You can plot series 'b' and 'c' in the file using

In [3]:
data.dataplot('b','c')

You get descriptive statistics for series 'a','b', and 'c' by using

In [4]:
data.info('a','b','c')
==============================================================================
============================ Database information ============================
==============================================================================

file:                                /mnt/data/pauli/prj/scipy/SciPy-CookBook/ipython/../_static/items/attachments/dbase/data.csv
# obs:                               100
# variables:         3
Start date:                  08 Jan 2001
End date:                    02 Dec 2002

var                          min                     max                     mean            std.dev         miss    levels
==============================================================================
a                            -2.56            3.35           -0.08            1.08            0
b                            -2.00            2.16           -0.02            0.98            0
c                            -1.91            2.54            0.18            0.93            0

Section author: VincentNijs

Attachments