Skip to content

Commit d55fec2

Browse files
committed
release 0.1
git-svn-id: http://pandas.googlecode.com/svn/trunk@97 d5231056-7de3-11de-ac95-d976489f1ece
1 parent 77ad265 commit d55fec2

File tree

14 files changed

+216
-91
lines changed

14 files changed

+216
-91
lines changed

LICENSE renamed to LICENSE.txt

File renamed without changes.

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
include TODO LICENSE README
1+
include TODO.txt LICENSE.txt README.txt
22
include setup.py setupegg.py
33
include examples/data/*
44
recursive-include examples *

README.txt

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
Installation from sources
2+
=========================
3+
4+
In the pandas directory (same one where you found this file), execute:
5+
6+
python setup.py install
7+
8+
On Windows, you will need to install MinGW and execute
9+
10+
python setup.py install --compiler=mingw32
11+
12+
See
13+
14+
http://pandas.sourceforge.net/
15+
16+
For more information.
17+
18+
=============
19+
Release Notes
20+
=============
21+
22+
What it is
23+
==========
24+
25+
pandas is a library for pan-el da-ta analysis, i.e. multidimensional
26+
time series and cross-sectional data sets commonly found in
27+
statistics, econometrics, or finance. It provides convenient and
28+
easy-to-understand NumPy-based data structures for generic labeled
29+
data, with focus on automatically aligning data based on its label(s)
30+
and handling missing observations. One major goal of the library is to
31+
simplify the implementation of statistical models on unreliable data.
32+
33+
Main Features
34+
=============
35+
36+
* Data structures: for 1, 2, and 3 dimensional labeled data
37+
sets. Some of their main features include:
38+
39+
* Automatically aligning data
40+
* Handling missing observations in calculations
41+
* Convenient slicing and reshaping ("reindexing") functions
42+
* Provide 'group by' aggregation or transformation functionality
43+
* Tools for merging / joining together data sets
44+
* Simple matplotlib integration for plotting
45+
46+
* Date tools: objects for expressing date offsets or generating date
47+
ranges; some functionality similar to scikits.timeseries
48+
49+
* Statistical models: convenient ordinary least squares and panel OLS
50+
implementations for in-sample or rolling time series /
51+
cross-sectional regressions. These will hopefully be the starting
52+
point for implementing other models
53+
54+
pandas is not necessarily intended as a standalone library but rather
55+
as something which can be used in tandem with other NumPy-based
56+
packages like scikits.statsmodels. Where possible wheel-reinvention
57+
has largely been avoided. Also, its time series manipulation
58+
capability is not as extensive as scikits.timeseries; pandas does have
59+
its own time series object which fits into the unified data model.
60+
61+
Some other useful tools for time series data (moving average, standard
62+
deviation, etc.) are available in the codebase but do not yet have a
63+
convenient interface. These will be highlighted in a future release.
64+
65+
Where to get it
66+
===============
67+
68+
The source code is currently hosted on googlecode at:
69+
70+
http://pandas.googlecode.com
71+
72+
Binary releases can be downloaded there, or alternately via the Python
73+
package index or easy_install
74+
75+
PyPi: http://pypi.python.org/pypi/pandas/
76+
77+
License
78+
=======
79+
80+
BSD
81+
82+
Documentation
83+
=============
84+
85+
The official documentation is hosted on SourceForge.
86+
87+
http://pandas.sourceforge.net/
88+
89+
The sphinx documentation is still in an incomplete state, but it
90+
should provide a good starting point for learning how to use the
91+
library. Expect the docs to continue to expand as time goes on.
92+
93+
Background
94+
==========
95+
96+
Work on pandas started at AQR (a quantitative hedge fund) in 2008 and
97+
has been under active development since then.
98+
99+
Discussion and Development
100+
==========================
101+
102+
Since pandas development is related to a number of other scientific
103+
Python projects, questions are welcome on the scipy-user mailing
104+
list. Specialized discussions or design issues should take place on
105+
the pystatsmodels mailing list / google group, where
106+
scikits.statsmodels and other libraries will also be discussed:
107+
108+
http://groups.google.com/group/pystatsmodels

TODO

Whitespace-only changes.

README renamed to TODO.txt

File renamed without changes.

doc/make.py

Lines changed: 25 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
"""
2-
Python script for building documentation. This script was designed for
3-
building the docs on windows, but may work on other platforms as well.
4-
It has been tested on Ubuntu Jaunty and works there as well. If it does not
5-
work for you and returns an error about finding sphinx-build then you need
6-
to edit the first lines that define `sphinx_build` to point to where
7-
sphinx-build is installed. On linux you can find out by typing
8-
`which sphinx-build` at the command line.
2+
Python script for building documentation.
93
104
To build the docs you must have all optional dependencies for statsmodels
115
installed. See the installation instructions for a list of these.
@@ -15,57 +9,26 @@
159
1610
Usage
1711
-----
18-
1912
python make.py clean
2013
python make.py html
2114
"""
2215

2316
import os
24-
import glob
2517
import shutil
2618
import sys
2719

28-
# checks for sphinx-build binary these will find it if it is installed
29-
# in sys.prefix+'/local/bin/' or
30-
# in sys.predix+'/Scripts/'
31-
if os.path.isfile(os.path.join(sys.prefix, 'Scripts', 'sphinx-build.exe')):
32-
sphinx_build = os.path.join(sys.prefix, 'Scripts', 'sphinx-build.exe')
33-
else:
34-
sphinx_build = 'sphinx-build'
35-
36-
def check_build():
37-
build_dirs = [
38-
'build', 'build/doctrees', 'build/html', 'build/latex', 'build/plots']
39-
for d in build_dirs:
40-
try:
41-
os.mkdir(d)
42-
except OSError:
43-
pass
44-
45-
rst_files = glob.glob("source/*.rst")
20+
def sf():
21+
'push a copy to the sf site'
22+
os.system('cd build/html; rsync -avz . wesmckinn,pandas@web.sf.net:/home/groups/p/pa/pandas/htdocs/ -essh --cvs-exclude')
4623

47-
as_gen = "python sphinxext/autosummary_generate.py "
48-
49-
for rf in rst_files:
50-
if os.system(as_gen + rf + " -p dump.xml -o source/generated"):
51-
raise SystemExit("Failed to auto generate summary from %s" % rf)
24+
def clean():
25+
os.system('make clean')
5226

5327
def html():
54-
55-
check_build()
56-
os.chdir('source')
57-
if os.system(sphinx_build + ' -a -b html -d ../build/doctrees . ../build/html'):
58-
raise SystemExit("Building HTML failed.")
59-
os.chdir('..')
28+
os.system('make html')
6029

6130
def latex():
62-
6331
check_build()
64-
os.chdir('source')
65-
# LaTeX format.
66-
if os.system(sphinx_build + ' -a -b latex -d ../build/doctrees . ../build/latex'):
67-
raise SystemExit("Building LaTeX failed.")
68-
6932
# Produce pdf.
7033
os.chdir('../build/latex')
7134

@@ -81,30 +44,34 @@ def latex():
8144

8245
os.chdir('../..')
8346

84-
def clean():
85-
if os.path.exists('build'):
86-
shutil.rmtree('build')
87-
88-
if os.path.exists('source/generated'):
89-
shutil.rmtree('source/generated')
90-
9147
def all():
9248
clean()
9349
html()
94-
latex()
50+
# latex()
51+
52+
funcd = {
53+
'html' : html,
54+
'latex' : latex,
55+
'clean' : clean,
56+
'sf' : sf,
57+
'all' : all,
58+
}
59+
60+
61+
small_docs = False
9562

96-
funcd = {'html':html,
97-
'latex':latex,
98-
'clean':clean,
99-
'all':all,
100-
}
63+
# Change directory to the one containing this file
64+
current_dir = os.getcwd()
65+
os.chdir(os.path.dirname(os.path.join(current_dir, __file__)))
10166

10267
if len(sys.argv)>1:
10368
for arg in sys.argv[1:]:
10469
func = funcd.get(arg)
10570
if func is None:
106-
raise SystemExit('Do not know how to handle %s; valid args are'%(
71+
raise SystemExit('Do not know how to handle %s; valid args are %s'%(
10772
arg, funcd.keys()))
10873
func()
10974
else:
75+
small_docs = False
11076
all()
77+
os.chdir(current_dir)

doc/source/stats.ols.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Ordinary least squares
2+
----------------------
3+
4+
.. automodule:: pandas.stats.ols
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

doc/source/stats.plm.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
OLS Panel regression
2+
--------------------
3+
4+
.. automodule:: pandas.stats.plm
5+
:members:
6+
:undoc-members:
7+
:show-inheritance:

doc/source/stats.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,30 @@
66
Statistical tools
77
*****************
88

9+
Least-squares entry-point
10+
-------------------------
911

12+
.. autosummary::
13+
:toctree: generated/
14+
15+
ols
16+
17+
Class reference
18+
---------------
19+
20+
.. currentmodule:: pandas.stats.ols
21+
22+
.. autosummary::
23+
:toctree: generated/
24+
25+
OLS
26+
MovingOLS
27+
28+
.. currentmodule:: pandas.stats.plm
29+
30+
.. autosummary::
31+
:toctree: generated/
32+
33+
PanelOLS
34+
MovingPanelOLS
1035

pandas/core/frame.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ class DataFrame(Picklable, Groupable):
5858
--------
5959
DataMatrix: more efficient version of DataFrame for most operations
6060
61-
Example
62-
-------
61+
Examples
62+
--------
6363
>>> d = {'col1' : ts1, 'col2' : ts2}
6464
>>> df = DataFrame(data=d, index=someIndex)
6565
"""
@@ -125,8 +125,8 @@ def fromDict(cls, inputDict=None, castFloat=True, **kwds):
125125
-------
126126
DataFrame
127127
128-
Example
129-
-------
128+
Examples
129+
--------
130130
df1 = DataFrame.fromDict(myDict)
131131
df2 = DataFrame.fromDict(A=seriesA, B=seriesB)
132132
"""
@@ -462,8 +462,8 @@ def _combineFunc(self, other, func):
462462
other : constant, array, or DataFrame/Matrix
463463
func : function taking two arguments
464464
465-
Example
466-
-------
465+
Examples
466+
--------
467467
frame._combineFunc(otherFrame, lambda x, y: x + y)
468468
"""
469469
newColumns = {}
@@ -1042,8 +1042,8 @@ def apply(self, func, axis=0):
10421042
Function to apply to each column
10431043
axis : {0, 1}
10441044
1045-
Example
1046-
-------
1045+
Examples
1046+
--------
10471047
>>> df.apply(numpy.sqrt) --> DataFrame
10481048
>>> df.apply(numpy.sum) --> Series
10491049
@@ -1167,8 +1167,8 @@ def combineFirst(self, otherFrame):
11671167
----------
11681168
otherFrame : DataFrame / Matrix
11691169
1170-
Example
1171-
-------
1170+
Examples
1171+
--------
11721172
a.combineFirst(b)
11731173
a's values prioritized, use values from b to fill holes
11741174
@@ -1311,8 +1311,8 @@ def merge(self, other, on=None):
13111311
on : string
13121312
Column name to use
13131313
1314-
Example
1315-
-------
1314+
Examples
1315+
--------
13161316
This frame Other frame
13171317
c1 q1
13181318
a 1 0 v1

0 commit comments

Comments
 (0)