Skip to content

Commit 3c3cc0d

Browse files
committed
Merge tag 'v0.8.0b1' into debian-0.8
Version 0.8.0 beta 1 * tag 'v0.8.0b1': (703 commits) RLS: 0.8.0 beta 1 RLS: 0.8.0beta RLS: release notes ENH: add option to use Series.values to interpolate, close pandas-dev#1206 TST: testing to close pandas-dev#1331 DOC: groupby drop duplicate index pandas-dev#1312 ENH: tz_convert for DataFrame pandas-dev#1330 ENH: add NA handling to scatter_matrix, close pandas-dev#1297 BUG: display localtime in DatetimeIndex.__repr__, close pandas-dev#1336 DOC: draft of timeseries section of docs. Added Period related documentation and examples DOC: timezone handling and started on Period DOC: rough draft of DatetimeIndex, date_range, shifting/resampling etc DOC: more ts docs. Need to do resampling then PeriodIndex DOC: starting deeper revamp of ts docs for 0.8 BUG: raise exception for unintellible frequency strings, close pandas-dev#1328 ENH: construct PeriodIndex from arrays of fields, allow negative ordinals. close pandas-dev#1333 and pandas-dev#1264 BUG: tsplot fix with business freq pandas-dev#1332 BUG: DatetimeIndex partial slicing bug, tsplot kludge around pandas-dev#1332 BUG: alias W to W-SUN, add test for buglet close pandas-dev#1327 ENH: mix arrays and scalars in DataFrame constructor, close pandas-dev#1329 ...
2 parents d9087f5 + 5b98fdf commit 3c3cc0d

File tree

186 files changed

+41625
-6011
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+41625
-6011
lines changed

.gitignore

+5-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ build
55
dist
66
MANIFEST
77
*.c
8+
!np_datetime.c
9+
!np_datetime_strings.c
10+
!skts.c
811
*.cpp
912
*.so
1013
*.pyd
@@ -16,4 +19,5 @@ doc/source/vbench.rst
1619
*flymake*
1720
scikits
1821
.coverage
19-
pandas.egg-info
22+
pandas.egg-info
23+
*\#*\#

NP_LICENSE.txt

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
Copyright (c) 2005-2011, NumPy Developers.
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are
6+
met:
7+
8+
* Redistributions of source code must retain the above copyright
9+
notice, this list of conditions and the following disclaimer.
10+
11+
* Redistributions in binary form must reproduce the above
12+
copyright notice, this list of conditions and the following
13+
disclaimer in the documentation and/or other materials provided
14+
with the distribution.
15+
16+
* Neither the name of the NumPy Developers nor the names of any
17+
contributors may be used to endorse or promote products derived
18+
from this software without specific prior written permission.
19+
20+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21+
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22+
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23+
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24+
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25+
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26+
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27+
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28+
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

RELEASE.rst

+96
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,107 @@ Where to get it
2222
* Binary installers on PyPI: http://pypi.python.org/pypi/pandas
2323
* Documentation: http://pandas.pydata.org
2424

25+
pandas 0.8.0
26+
============
27+
28+
**Release date:** NOT YET RELEASED
29+
30+
**New features**
31+
32+
- Add GroupBy.prod optimized aggregation function and 'prod' fast time series
33+
conversion method (#1018)
34+
- Implement robust frequency inference function and `inferred_freq` attribute
35+
on DatetimeIndex (#391)
36+
- Convert DatetimeIndexes to UTC if time zones are different in join/setops
37+
(#864)
38+
- Add limit argument for forward/backward filling to reindex, fillna,
39+
etc. (#825 and others)
40+
- Add support for indexes (dates or otherwise) with duplicates and common
41+
sense indexing/selection functionality
42+
- Series/DataFrame.update methods, in-place variant of combine_first (#961)
43+
- Add ``match`` function to API (#502)
44+
- Add Cython-optimized first, last, min, max, prod functions to GroupBy (#994,
45+
#1043)
46+
- Dates can be split across multiple columns (#1227, #1186)
47+
- Add experimental support for converting pandas DataFrame to R data.frame
48+
via rpy2 (#350, #1212)
49+
- Can pass list of (name, function) to GroupBy.aggregate to get aggregates in
50+
a particular order (#610)
51+
- Can pass dicts with lists of functions or dicts to GroupBy aggregate to do
52+
much more flexible multiple function aggregation (#642)
53+
- New ordered_merge functions for merging DataFrames with ordered
54+
data. Also supports group-wise merging for panel data (#813)
55+
- Add keys() method to DataFrame
56+
- Add flexible replace method for replacing potentially values to Series and
57+
DataFrame (#929, #1241)
58+
- Add 'kde' plot kind for Series/DataFrame.plot (#1059)
59+
- More flexible multiple function aggregation with GroupBy
60+
- Add pct_change function to Series/DataFrame
61+
- Add option to interpolate by Index values in Series.interpolate (#1206)
62+
63+
**Improvements to existing features**
64+
65+
- Switch to klib/khash-based hash tables in Index classes for better
66+
performance in many cases and lower memory footprint
67+
- Shipping some functions from scipy.stats to reduce dependency,
68+
e.g. Series.describe and DataFrame.describe (GH #1092)
69+
- Can create MultiIndex by passing list of lists or list of arrays to Series,
70+
DataFrame constructor, etc. (#831)
71+
- Can pass arrays in addition to column names to DataFrame.set_index (#402)
72+
- Improve the speed of "square" reindexing of homogeneous DataFrame objects
73+
by significant margin (#836)
74+
- Handle more dtypes when passed MaskedArrays in DataFrame constructor (#406)
75+
- Improved performance of join operations on integer keys (#682)
76+
- Can pass multiple columns to GroupBy object, e.g. grouped[[col1, col2]] to
77+
only aggregate a subset of the value columns (#383)
78+
- Add histogram / kde plot options for scatter_matrix diagonals (#1237)
79+
- Add inplace option to Series/DataFrame.rename and sort_index,
80+
DataFrame.drop_duplicates (#805, #207)
81+
- More helpful error message when nothing passed to Series.reindex (#1267)
82+
- Can mix array and scalars as dict-value inputs to DataFrame ctor (#1329)
83+
84+
**API Changes**
85+
86+
- Raise ValueError in DataFrame.__nonzero__, so "if df" no longer works
87+
(#1073)
88+
- Change BDay (business day) to not normalize dates by default
89+
- Remove deprecated DataMatrix name
90+
- Default merge suffixes for overlap now have underscores instead of periods
91+
to facilitate tab completion, etc. (#1239)
92+
93+
**Bug fixes**
94+
95+
- Fix OverflowError from storing pre-1970 dates in HDFStore by switching to
96+
datetime64 (GH #179)
97+
- Fix logical error with February leap year end in YearEnd offset
98+
- Series([False, nan]) was getting casted to float64 (GH #1074)
99+
- Fix binary operations between boolean Series and object Series with
100+
booleans and NAs (GH #1074)
101+
- Couldn't assign whole array to column in mixed-type DataFrame via .ix
102+
(#1142)
103+
- Fix label slicing issues with float index values (#1167)
104+
- Fix segfault caused by empty groups passed to groupby (#1048)
105+
- Fix occasionally misbehaved reindexing in the presence of NaN labels (#522)
106+
- Fix imprecise logic causing weird Series results from .apply (#1183)
107+
- Unstack multiple levels in one shot, avoiding empty columns in some
108+
cases. Fix pivot table bug (#1181)
109+
- Fix formatting of MultiIndex on Series/DataFrame when index name coincides
110+
with label (#1217)
111+
- Handle Excel 2003 #N/A as NaN from xlrd (#1213, #1225)
112+
- Fix timestamp locale-related deserialization issues with HDFStore by moving
113+
to datetime64 representation (#1081, #809)
114+
- Fix DataFrame.duplicated/drop_duplicates NA value handling (#557)
115+
- Actually raise exceptions in fast reducer (#1243)
116+
25117
pandas 0.7.3
26118
============
27119

28120
**Release date:** April 12, 2012
29121

30122
**New features / modules**
31123

124+
- Support for non-unique indexes: indexing and selection, many-to-one and
125+
many-to-many joins (#1306)
32126
- Added fixed-width file reader, read_fwf (PR #952)
33127
- Add group_keys argument to groupby to not add group names to MultiIndex in
34128
result of apply (GH #938)
@@ -63,6 +157,7 @@ pandas 0.7.3
63157
- Calling apply on grouped Series, e.g. describe(), will no longer yield
64158
DataFrame by default. Will have to call unstack() to get prior behavior
65159
- NA handling in non-numeric comparisons has been tightened up (#933, #953)
160+
- No longer assign dummy names key_0, key_1, etc. to groupby index (#1291)
66161

67162
**Bug fixes**
68163

@@ -86,6 +181,7 @@ pandas 0.7.3
86181
- Improper int dtype DataFrame construction from data with NaN (GH #846)
87182
- Removes default 'result' name in grouby results (GH #995)
88183
- DataFrame.from_records no longer mutate input columns (PR #975)
184+
- Use Index name when grouping by it (#1313)
89185

90186
pandas 0.7.2
91187
============

TODO.rst

+1
Original file line numberDiff line numberDiff line change
@@ -57,3 +57,4 @@ Performance blog
5757
- Take
5858

5959
git log v0.6.1..master --pretty=format:%aN | sort | uniq -c | sort -rn
60+
git log a8c2f88..master --pretty=format:%aN | sort | uniq -c | sort -rn

bench/bench_dense_to_sparse.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
N = 100000
55
rng = DateRange('1/1/2000', periods=N, offset=datetools.Minute())
66

7-
rng2 = np.asarray(rng).astype('M8').astype('i8')
7+
rng2 = np.asarray(rng).astype('M8[us]').astype('i8')
88

99
series = {}
1010
for i in range(1, K + 1):

bench/bench_tseries.py

-176
This file was deleted.

0 commit comments

Comments
 (0)