Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 1062 lines (906 sloc) 47.213 kb
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
1 =============
2 Release Notes
3 =============
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
4
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
5 This is the list of changes to pandas between each release. For full details,
6 see the commit logs at http://github.com/wesm/pandas
7
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
8 What is it
9 ----------
10
17f5ef9 Wes McKinney DOC: release notes
wesm authored
11 pandas is a Python package providing fast, flexible, and expressive data
12 structures designed to make working with “relational” or “labeled” data both
13 easy and intuitive. It aims to be the fundamental high-level building block for
14 doing practical, real world data analysis in Python. Additionally, it has the
15 broader goal of becoming the most powerful and flexible open source data
16 analysis / manipulation tool available in any language.
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
17
18 Where to get it
19 ---------------
20
fd4c4c9 Wes McKinney DOC: update read_csv docs
wesm authored
21 * Source code: http://github.com/wesm/pandas
22 * Binary installers on PyPI: http://pypi.python.org/pypi/pandas
23 * Documentation: http://pandas.sourceforge.net
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
24
45dff0c Wes McKinney BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
25 pandas 0.6.1
26 ============
27
28 **Release date:** Not yet released
29
53ff161 Wes McKinney REF: rename names -> columns + deprec warning in DataFrame.from_records,...
wesm authored
30 **API Changes**
31
32 - Rename `names` argument in DataFrame.from_records to `columns`. Add
33 deprecation warning
daf0b13 Wes McKinney BUG/ENH: reindex boolean Series passed to getitem/setitem, GH #429
wesm authored
34 - Boolean get/set operations on Series with boolean Series will reindex
35 instead of requiring that the indexes be exactly equal (GH #429)
53ff161 Wes McKinney REF: rename names -> columns + deprec warning in DataFrame.from_records,...
wesm authored
36
07ffb7b Wes McKinney ENH: can pass Series to DataFrame.append, GH #430
wesm authored
37 **New features / modules**
38
39 - Can pass Series to DataFrame.append with ignore_index=True for appending a
40 single row (GH #430)
113511e Wes McKinney ENH: add kendall/spearman correlation methods, GH #428
wesm authored
41 - Add Spearman and Kendall correlation options to Series.corr and
42 DataFrame.corr (GH #428)
7394761 Wes McKinney DOC: release notes
wesm authored
43 - Add new `get_value` and `set_value` methods to Series, DataFrame, and Panel
44 to very low-overhead access to scalar elements. df.get_value(row, column)
0085460 Wes McKinney ENH: add get_value/set_value support to sparse data structures, #438
wesm authored
45 is about 3x faster than df[column][row] by handling fewer cases (GH #437,
46 #438). Add similar methods to sparse data structures for compatibility
3a528c4 Wes McKinney DOC: release notes
wesm authored
47 - Add Qt table widget to sandbox (PR #435)
b1ca192 Wes McKinney ENH: index Cython method refactoring, left_join bugfix, sparse bugfix
wesm authored
48 - DataFrame.align can accept Series arguments, add axis keyword (GH #461)
f80bfc1 Wes McKinney TST: finish unit test coverage for sparse arrays, release notes GH #436
wesm authored
49 - Implement new SparseList and SparseArray data structures. SparseSeries now
50 derives from SparseArray (GH #463)
34db250 Wes McKinney DOC: release notes
wesm authored
51 - max_columns / max_rows options in set_printoptions (PR #453)
6aa80f9 Wes McKinney BUG: use map_infer in applymap, speed boost and fix #465
wesm authored
52 - Implement Series.rank and DataFrame.rank, fast versions of
53 scipy.stats.rankdata (GH #428)
53ff161 Wes McKinney REF: rename names -> columns + deprec warning in DataFrame.from_records,...
wesm authored
54 - Implement DataFrame.from_items alternate constructor (GH #444)
5e62a26 Wes McKinney ENH: DataFrame.convert_objects for inferring better dtypes, GH #302
wesm authored
55 - DataFrame.convert_objects method for inferring better dtypes for object
56 columns (GH #302)
cc46392 Wes McKinney ENH: rolling_corr_pairwise function re: #189
wesm authored
57 - Add rolling_corr_pairwise function for computing Panel of correlation
58 matrices (GH #189)
3b8ad3e Wes McKinney BUG: handling of grand margin when no columns passed, GH #114
wesm authored
59 - Add `margins` option to `pivot_table` for computing subgroup aggregates (GH
60 #114)
3a528c4 Wes McKinney DOC: release notes
wesm authored
61
c34616c Wes McKinney DOC: release notes
wesm authored
62 **Improvements to existing features**
3a528c4 Wes McKinney DOC: release notes
wesm authored
63
c34616c Wes McKinney DOC: release notes
wesm authored
64 - Improve memory usage of `DataFrame.describe` (do not copy data
65 unnecessarily) (PR #425)
8a2520b Wes McKinney BUG: fix common.take_1d failure with empty array, GH #434
wesm authored
66 - Use same formatting function for outputting floating point Series to console
67 as in DataFrame (PR #420)
5d94e1b Wes McKinney ENH: exclude non-numeric dtypes in DataFrame.corr, motivated by #440
wesm authored
68 - DataFrame.delevel will try to infer better dtype for new columns (GH #440)
113511e Wes McKinney ENH: add kendall/spearman correlation methods, GH #428
wesm authored
69 - Exclude non-numeric types in DataFrame.{corr, cov}
3b59845 Wes McKinney BUG/ENH: override Index.astype to prevent Index with non-object dtype, G...
wesm authored
70 - Override Index.astype to enable dtype casting (GH #412)
3a528c4 Wes McKinney DOC: release notes
wesm authored
71 - Use same float formatting function for Series.__repr__ (PR #420)
1c91bca Wes McKinney BUG: unstack multiple levels bug described in #451
wesm authored
72 - Use available console width to output DataFrame columns (PR #453)
0085460 Wes McKinney ENH: add get_value/set_value support to sparse data structures, #438
wesm authored
73 - Accept ndarrays when setting items in Panel (GH #452)
34db250 Wes McKinney DOC: release notes
wesm authored
74 - Infer console width when printing __repr__ of DataFrame to console (PR
75 #453)
76 - Optimize scalar value lookups in the general case by 25% or more in Series
77 and DataFrame
31f5662 Wes McKinney ENH: rolling_corr/rolling_cov can take DF/DF and DF/Series combos for ea...
wesm authored
78 - Can pass DataFrame/DataFrame and DataFrame/Series to
79 rolling_corr/rolling_cov (GH #462)
3686a62 Wes McKinney DOC: release notes
wesm authored
80 - Fix performance regression in cross-sectional count in DataFrame, affecting
81 DataFrame.dropna speed
f8cc267 Wes McKinney BUG/ENH: fix stale reference caused by block modification described in #...
wesm authored
82 - Column deletion in DataFrame copies no data (computes views on blocks) (GH
83 #158)
3544e73 Wes McKinney ENH: get_level_values accept level name
wesm authored
84 - MultiIndex.get_level_values can take the level name
c34616c Wes McKinney DOC: release notes
wesm authored
85
45dff0c Wes McKinney BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
86 **Bug fixes**
87
62ea0cf Wes McKinney DOC: release notes, sparse submodule
wesm authored
88 - Fix O(K^2) memory leak caused by inserting many columns without
89 consolidating, had been present since 0.4.0 (GH #467)
45dff0c Wes McKinney BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
90 - `DataFrame.count` should return Series with zero instead of NA with length-0
91 axis (GH #423)
c34616c Wes McKinney DOC: release notes
wesm authored
92 - Fix Yahoo! Finance API usage in pandas.io.data (GH #419, PR #427)
8a2520b Wes McKinney BUG: fix common.take_1d failure with empty array, GH #434
wesm authored
93 - Fix upstream bug causing failure in Series.align with empty Series (GH #434)
c6d05e5 Wes McKinney BUG: DataFrame.apply function returning list resulted in unexpected Seri...
wesm authored
94 - Function passed to DataFrame.apply can return a list, as long as it's the
95 right length. Regression from 0.4 (GH #432)
0537bdf Wes McKinney BUG: groupby.agg(len) failure with column selected and as_index=False, G...
wesm authored
96 - Don't "accidentally" upcast scalar values when indexing using .ix (GH #431)
97 - Fix groupby exception raised with as_index=False and single column selected
98 (GH #421)
9ada28a Wes McKinney BUG: DateRange union bug caused by DateOffset __ne__ not being implement...
wesm authored
99 - Implement DateOffset.__ne__ causing downstream bug (GH #456)
1c91bca Wes McKinney BUG: unstack multiple levels bug described in #451
wesm authored
100 - Fix __doc__-related issue when converting py -> pyo with py2exe
34db250 Wes McKinney DOC: release notes
wesm authored
101 - Bug fix in left join Cython code with duplicate monotonic labels
102 - Fix bug when unstacking multiple levels described in #451
9c20734 Wes McKinney ENH: implement rank function in Cython for Series and DataFrame, per #42...
wesm authored
103 - Exclude NA values in dtype=object arrays, regression from 0.5.0 (GH #469)
31f5662 Wes McKinney ENH: rolling_corr/rolling_cov can take DF/DF and DF/Series combos for ea...
wesm authored
104 - Use Cython map_infer function in DataFrame.applymap to properly infer
105 output type, handle tuple return values and other things that were breaking
106 (GH #465)
ca6adc6 Wes McKinney ENH: DataFrame.from_items alternate constructor for sequence of (key, va...
wesm authored
107 - Handle floating point index values in HDFStore (GH #454)
f8cc267 Wes McKinney BUG/ENH: fix stale reference caused by block modification described in #...
wesm authored
108 - Fixed stale column reference bug (cached Series object) caused by type
109 change / item deletion in DataFrame (GH #473)
d96a8c2 Wes McKinney BUG: Index.get_loc should always raise exception with duplicates
wesm authored
110 - Index.get_loc should always raise Exception when there are duplicates
6a079a0 Wes McKinney DOC: release notes
wesm authored
111 - Handle differently-indexed Series input to DataFrame constructor (GH #475)
a0c5090 Wes McKinney BUG: omit nuisance columns in multi-groupby with Python agger
wesm authored
112 - Omit nuisance columns in multi-groupby with Python function
3686a62 Wes McKinney DOC: release notes
wesm authored
113 - Buglet in handling of single grouping in general apply
0537bdf Wes McKinney BUG: groupby.agg(len) failure with column selected and as_index=False, G...
wesm authored
114
c34616c Wes McKinney DOC: release notes
wesm authored
115 Thanks
116 ------
117 - Ralph Bean
3686a62 Wes McKinney DOC: release notes
wesm authored
118 - Luca Beltrame
119 - Marius Cobzarenco
120 - Andreas Hilboll
3a528c4 Wes McKinney DOC: release notes
wesm authored
121 - Jev Kuznetsov
3686a62 Wes McKinney DOC: release notes
wesm authored
122 - Adam Lichtenstein
8a2520b Wes McKinney BUG: fix common.take_1d failure with empty array, GH #434
wesm authored
123 - Wouter Overmeire
3a528c4 Wes McKinney DOC: release notes
wesm authored
124 - Fernando Perez
d665004 Wes McKinney BUG: exclude NAs also with dtype=object in nanmean, others, GH #469
wesm authored
125 - Nathan Pinger
34db250 Wes McKinney DOC: release notes
wesm authored
126 - Christian Prinoth
6a079a0 Wes McKinney DOC: release notes
wesm authored
127 - Alex Reyfman
3b59845 Wes McKinney BUG/ENH: override Index.astype to prevent Index with non-object dtype, G...
wesm authored
128 - Joon Ro
129 - Chang She
d472cd7 Wes McKinney BUG: handle differently-indexed Series input to DataFrame constructor, f...
wesm authored
130 - Ted Square
c6d05e5 Wes McKinney BUG: DataFrame.apply function returning list resulted in unexpected Seri...
wesm authored
131 - Chris Uga
45dff0c Wes McKinney BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
132
9f25c79 Wes McKinney BUG: infer better return type in DataFrame.apply with empty frame, GH #3...
wesm authored
133 pandas 0.6.0
23f68e3 Wes McKinney DOC: update release note
wesm authored
134 ============
135
010a620 Wes McKinney RLS: bump version to 0.6.0
wesm authored
136 **Release date:** 11/25/2011
23f68e3 Wes McKinney DOC: update release note
wesm authored
137
eaf38f9 Wes McKinney BUG: handle mixed-type frames carefully in unstack, GH #403
wesm authored
138 **API Changes**
139
140 - Arithmetic methods like `sum` will attempt to sum dtype=object values by
141 default instead of excluding them (GH #382)
142
cf32be2 Wes McKinney ENH: add melt function, speed up DataFrame.apply
wesm authored
143 **New features / modules**
144
145 - Add `melt` function to `pandas.core.reshape`
36851c7 Wes McKinney BUG: catch Exception instead of TypeError in multi-groupby code, surface...
wesm authored
146 - Add `level` parameter to group by level in Series and DataFrame
147 descriptive statistics (PR #313)
148 - Add `head` and `tail` methods to Series, analogous to to DataFrame (PR
149 #296)
049b71d Wes McKinney ENH: add Series.isin, address GH #289
wesm authored
150 - Add `Series.isin` function which checks if each value is contained in a
151 passed sequence (GH #289)
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
152 - Add `float_format` option to `Series.to_string`
90de456 Wes McKinney ENH: refactoring groupby plots, add DataFrame.boxplot function, close PR...
wesm authored
153 - Add `skip_footer` (GH #291) and `converters` (GH #343) options to
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
154 `read_csv` and `read_table`
155 - Add proper, tested weighted least squares to standard and panel OLS (GH
156 #303)
157 - Add `drop_duplicates` and `duplicated` functions for removing duplicate
158 DataFrame rows and checking for duplicate rows, respectively (GH #319)
159 - Implement logical (boolean) operators &, |, ^ on DataFrame (GH #347)
160 - Add `Series.mad`, mean absolute deviation, matching DataFrame
fea3ff8 Wes McKinney DOC: release note about pull reqs
wesm authored
161 - Add `QuarterEnd` DateOffset (PR #321)
58e2f36 Wes McKinney ENH: add DataFrame.dot for matrix multiplication, GH #65
wesm authored
162 - Add matrix multiplication function `dot` to DataFrame (GH #65)
43d895c Wes McKinney ENH: add orient option to Panel.from_dict, GH #359
wesm authored
163 - Add `orient` option to `Panel.from_dict` to ease creation of mixed-type
90de456 Wes McKinney ENH: refactoring groupby plots, add DataFrame.boxplot function, close PR...
wesm authored
164 Panels (GH #359, #301)
0b201dc Wes McKinney ENH: add DataFrame.from_dict with orient option
wesm authored
165 - Add `DataFrame.from_dict` with similar `orient` option
e5c933b Wes McKinney ENH: add map_infer function, use to speed up Series.map/apply, close PR ...
wesm authored
166 - Can now pass list of tuples or list of lists to `DataFrame.from_records`
167 for fast conversion to DataFrame (GH #357)
73ab1c1 Wes McKinney ENH: group by multiple levels, GH #103
wesm authored
168 - Can pass multiple levels to groupby, e.g. `df.groupby(level=[0, 1])` (GH
169 #103)
74f5d6d Wes McKinney ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
170 - Can sort by multiple columns in `DataFrame.sort_index` (GH #92, PR #362)
028129c Wes McKinney TST: release notes and DataFrame.plot tests
wesm authored
171 - Add fast `get_value` and `put_value` methods to DataFrame and
172 micro-performance tweaks (GH #360)
74f5d6d Wes McKinney ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
173 - Add `cov` instance methods to Series and DataFrame (GH #194, PR #362)
bc5a745 Wes McKinney BUG: broke circular reference in Index engine, sped up MultiIndex.from_t...
wesm authored
174 - Add bar plot option to `DataFrame.plot` (PR #348)
5d7f6b7 Wes McKinney DOC: release notes
wesm authored
175 - Add `idxmin` and `idxmax` functions to Series and DataFrame for computing
176 index labels achieving maximum and minimum values (PR #286)
fa10e29 Wes McKinney ENH: read_clipboard function using code from IPython, GH #300
wesm authored
177 - Add `read_clipboard` function for parsing DataFrame from OS clipboard,
178 should work across platforms (GH #300)
ff877b4 Wes McKinney ENH: use series name as the column name if passed to DataFrame construct...
wesm authored
179 - Add `nunique` function to Series for counting unique elements (GH #297)
180 - DataFrame constructor will use Series name if no columns passed (GH #373)
ab92792 Wes McKinney ENH: enable regular expressions / long delimiters in read_table/csv, GH ...
wesm authored
181 - Support regular expressions and longer delimiters in read_table/read_csv,
182 but does not handle quoted strings yet (GH #364)
3af4e33 Wes McKinney BUG: to_html now handles column/row names and non-MultiIndex correctly, ...
wesm authored
183 - Add `DataFrame.to_html` for formatting DataFrame to HTML (PR #387)
184 - MaskedArray can be passed to DataFrame constructor and masked values will be
185 converted to NaN (PR #396)
0d2e1a7 Wes McKinney TST: remove special regression window/cluster constants, misc testing
wesm authored
186 - Add `DataFrame.boxplot` function (GH #368, others)
6418067 Wes McKinney BUG: pass index name in GroupBy.apply, GH #416
wesm authored
187 - Can pass extra args, kwds to DataFrame.apply (GH #376)
74f5d6d Wes McKinney ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
188
cf32be2 Wes McKinney ENH: add melt function, speed up DataFrame.apply
wesm authored
189 **Improvements to existing features**
190
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
191 - Raise more helpful exception if date parsing fails in DateRange (GH #298)
192 - Vastly improved performance of GroupBy on axes with a MultiIndex (GH #299)
193 - Print level names in hierarchical index in Series repr (GH #305)
194 - Return DataFrame when performing GroupBy on selected column and
195 as_index=False (GH #308)
196 - Can pass vector to `on` argument in `DataFrame.join` (GH #312)
197 - Don't show Series name if it's None in the repr, also omit length for short
198 Series (GH #317)
199 - Show legend by default in `DataFrame.plot`, add `legend` boolean flag (GH
200 #324)
201 - Significantly improved performance of `Series.order`, which also makes
010a620 Wes McKinney RLS: bump version to 0.6.0
wesm authored
202 np.unique called on a Series faster (GH #327)
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
203 - Faster cythonized count by level in Series and DataFrame (GH #341)
204 - Raise exception if dateutil 2.0 installed on Python 2.x runtime (GH #346)
205 - Significant GroupBy performance enhancement with multiple keys with many
206 "empty" combinations
e5c933b Wes McKinney ENH: add map_infer function, use to speed up Series.map/apply, close PR ...
wesm authored
207 - New Cython vectorized function `map_infer` speeds up `Series.apply` and
208 `Series.map` significantly when passed elementwise Python function,
209 motivated by PR #355
028129c Wes McKinney TST: release notes and DataFrame.plot tests
wesm authored
210 - Cythonized `cache_readonly`, resulting in substantial micro-performance
211 enhancements throughout the codebase (GH #361)
75026f2 Wes McKinney ENH: int64 type handling fix, tweaks, GH #309
wesm authored
212 - Special Cython matrix iterator for applying arbitrary reduction operations
213 with 3-5x better performance than `np.apply_along_axis` (GH #309)
214 - Add `raw` option to `DataFrame.apply` for getting better performance when
215 the passed function only requires an ndarray (GH #309)
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
216 - Improve performance of `MultiIndex.from_tuples`
3e2e7af Wes McKinney BUG: handling of mixed-type frames in DataFrame.apply, GH #377
wesm authored
217 - Can pass multiple levels to `stack` and `unstack` (GH #370)
f16158c Wes McKinney DOC: release notes
wesm authored
218 - Can pass multiple values columns to `pivot_table` (GH #381)
51f4e02 Wes McKinney ENH: enable call delevel with standard index, GH #393
wesm authored
219 - Can call `DataFrame.delevel` with standard Index with name set (GH #393)
500c76b Wes McKinney ENH: use Series name in GroupBy for result index, GH #363
wesm authored
220 - Use Series name in GroupBy for result index (GH #363)
d15088c Wes McKinney ENH: refactor Series stat ops to use common nanops, test #384 for Series
wesm authored
221 - Refactor Series/DataFrame stat methods to use common set of NaN-friendly
222 function
2be59ff Wes McKinney ENH: wrap NumPy C API function for detecting all integer types
wesm authored
223 - Handle NumPy scalar integers at C level in Cython conversion routines
cf32be2 Wes McKinney ENH: add melt function, speed up DataFrame.apply
wesm authored
224
23f68e3 Wes McKinney DOC: update release note
wesm authored
225 **Bug fixes**
226
227 - Fix bug in `DataFrame.to_csv` when writing a DataFrame with an index
228 name (GH #290)
e34c8a9 Wes McKinney DOC: release notes re: GH #304
wesm authored
229 - DataFrame should clear its Series caches on consolidation, was causing
230 "stale" Series to be returned in some corner cases (GH #304)
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
231 - DataFrame constructor failed if a column had a list of tuples (GH #293)
232 - Ensure that `Series.apply` always returns a Series and implement
233 `Series.round` (GH #314)
234 - Support boolean columns in Cythonized groupby functions (GH #315)
235 - `DataFrame.describe` should not fail if there are no numeric columns,
236 instead return categorical describe (GH #323)
237 - Fixed bug which could cause columns to be printed in wrong order in
238 `DataFrame.to_string` if specific list of columns passed (GH #325)
239 - Fix legend plotting failure if DataFrame columns are integers (GH #326)
240 - Shift start date back by one month for Yahoo! Finance API in pandas.io.data
241 (GH #329)
242 - Fix `DataFrame.join` failure on unconsolidated inputs (GH #331)
243 - DataFrame.min/max will no longer fail on mixed-type DataFrame (GH #337)
244 - Fix `read_csv` / `read_table` failure when passing list to index_col that is
245 not in ascending order (GH #349)
246 - Fix failure passing Int64Index to Index.union when both are monotonic
247 - Fix error when passing SparseSeries to (dense) DataFrame constructor
b5e7ade Wes McKinney BUG: Series.__radd__ needs to be order-specific with string series, GH #...
wesm authored
248 - Added missing bang at top of setup.py (GH #352)
a92d411 Wes McKinney BUG: fix outer join with MultiIndex, is_monotonic bug fix, GH #351
wesm authored
249 - Change `is_monotonic` on MultiIndex so it properly compares the tuples
250 - Fix MultiIndex outer join logic (GH #351)
30e539c Wes McKinney BUG: set index name attribute in single-key groupby, GH #358
wesm authored
251 - Set index name attribute with single-key groupby (GH #358)
90de456 Wes McKinney ENH: refactoring groupby plots, add DataFrame.boxplot function, close PR...
wesm authored
252 - Bug fix in reflexive binary addition in Series and DataFrame for
253 non-commutative operations (like string concatenation) (GH #353)
254 - setupegg.py will invoke Cython (GH #192)
81ef580 Wes McKinney BUG: fix join op between Index/Int64Index, GH #367
wesm authored
255 - Fix block consolidation bug after inserting column into MultiIndex (GH #366)
256 - Fix bug in join operations between Index and Int64Index (GH #367)
b1fb3bc Wes McKinney BUG: treat min_periods=0 as 1 in moving window functions, GH #365
wesm authored
257 - Handle min_periods=0 case in moving window functions (GH #365)
53ca3f1 Wes McKinney BUG: fix empty DataFrame corner cases described in #378
wesm authored
258 - Fixed corner cases in DataFrame.apply/pivot with empty DataFrame (GH #378)
38f5d43 Wes McKinney BUG: fix exception in repr with tuple as Series name
wesm authored
259 - Fixed repr exception when Series name is a tuple
b7c3d2c Wes McKinney BUG: don't lose names in MultiIndex.droplevel, fix #394
wesm authored
260 - Always return DateRange from `asfreq` (GH #390)
261 - Pass level names to `swaplavel` (GH #379)
51f4e02 Wes McKinney ENH: enable call delevel with standard index, GH #393
wesm authored
262 - Don't lose index names in `MultiIndex.droplevel` (GH #394)
8d29268 Wes McKinney DOC: release notes
wesm authored
263 - Infer more proper return type in `DataFrame.apply` when no columns or rows
264 depending on whether the passed function is a reduction (GH #389)
d15088c Wes McKinney ENH: refactor Series stat ops to use common nanops, test #384 for Series
wesm authored
265 - Always return NA/NaN from Series.min/max and DataFrame.min/max when all of a
266 row/column/values are NA (GH #384)
eaf38f9 Wes McKinney BUG: handle mixed-type frames carefully in unstack, GH #403
wesm authored
267 - Enable partial setting with .ix / advanced indexing (GH #397)
268 - Handle mixed-type DataFrames correctly in unstack, do not lose type
269 information (GH #403)
ef76764 Wes McKinney BUG: index integer name format bug, plus handle non-string columns in gr...
wesm authored
270 - Fix integer name formatting bug in Index.format and in Series.__repr__
271 - Handle label types other than string passed to groupby (GH #405)
93b909a Wes McKinney BUG: handle Index name in pickling, indexing test and bugfix, GH #408
wesm authored
272 - Fix bug in .ix-based indexing with partial retrieval when a label is not
273 contained in a level
274 - Index name was not being pickled (GH #408)
2be59ff Wes McKinney ENH: wrap NumPy C API function for detecting all integer types
wesm authored
275 - Level name should be passed to result index in GroupBy.apply (GH #416)
e34c8a9 Wes McKinney DOC: release notes re: GH #304
wesm authored
276
277 Thanks
278 ------
279
f16158c Wes McKinney DOC: release notes
wesm authored
280 - Craig Austin
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
281 - Marius Cobzarenco
81ef580 Wes McKinney BUG: fix join op between Index/Int64Index, GH #367
wesm authored
282 - Joel Cross
36851c7 Wes McKinney BUG: catch Exception instead of TypeError in multi-groupby code, surface...
wesm authored
283 - Jeff Hammerbacher
284 - Adam Klein
b1fb3bc Wes McKinney BUG: treat min_periods=0 as 1 in moving window functions, GH #365
wesm authored
285 - Thomas Kluyver
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
286 - Jev Kuznetsov
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
287 - Kieran O'Mahony
288 - Wouter Overmeire
289 - Nathan Pinger
81ef580 Wes McKinney BUG: fix join op between Index/Int64Index, GH #367
wesm authored
290 - Christian Prinoth
d15088c Wes McKinney ENH: refactor Series stat ops to use common nanops, test #384 for Series
wesm authored
291 - Skipper Seabold
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
292 - Chang She
f16158c Wes McKinney DOC: release notes
wesm authored
293 - Ted Square
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
294 - Aman Thakral
2be59ff Wes McKinney ENH: wrap NumPy C API function for detecting all integer types
wesm authored
295 - Chris Uga
0cf966b Wes McKinney DOC: 0.5.1 release notes
wesm authored
296 - Dieter Vandenbussche
6ee3eae Wes McKinney TST: test coverage, release note
wesm authored
297 - carljv
58e2f36 Wes McKinney ENH: add DataFrame.dot for matrix multiplication, GH #65
wesm authored
298 - rsamson
23f68e3 Wes McKinney DOC: update release note
wesm authored
299
4ea44a4 Wes McKinney DOC: increase minor version number to 0.5
wesm authored
300 pandas 0.5.0
e3eac67 Wes McKinney ENH: refactored join_managers into a tidy class and sped up joining in h...
wesm authored
301 ============
302
8f79f7c Wes McKinney RLS: Version 0.5.0
wesm authored
303 **Release date:** 10/24/2011
e3eac67 Wes McKinney ENH: refactored join_managers into a tidy class and sped up joining in h...
wesm authored
304
ea45212 Wes McKinney DOC: release notes
wesm authored
305 This release of pandas includes a number of API changes (see below) and cleanup
f785ccb Wes McKinney DOC: release notes
wesm authored
306 of deprecated APIs from pre-0.4.0 releases. There are also bug fixes, new
307 features, numerous significant performance enhancements, and includes a new
308 IPython completer hook to enable tab completion of DataFrame columns accesses
309 as attributes (a new feature).
4db8b72 Wes McKinney DOC: release notes
wesm authored
310
311 In addition to the changes listed here from 0.4.3 to 0.5.0, the minor releases
312 0.4.1, 0.4.2, and 0.4.3 brought some significant new functionality and
313 performance improvements that are worth taking a look at.
314
f785ccb Wes McKinney DOC: release notes
wesm authored
315 Thanks to all for bug reports, contributed patches and generally providing
4db8b72 Wes McKinney DOC: release notes
wesm authored
316 feedback on the library.
088e20f Wes McKinney DOC: release note
wesm authored
317
4ea44a4 Wes McKinney DOC: increase minor version number to 0.5
wesm authored
318 **API Changes**
319
320 - `read_table`, `read_csv`, and `ExcelFile.parse` default arguments for
321 `index_col` is now None. To use one or more of the columns as the resulting
322 DataFrame's index, these must be explicitly specified now
fc78e34 Wes McKinney DOC: minor release note update
wesm authored
323 - Parsing functions like `read_csv` no longer parse dates by default (GH
324 #225)
52723fa Wes McKinney DOC: release notes
wesm authored
325 - Removed `weights` option in panel regression which was not doing anything
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
326 principled (GH #155)
36345fd Wes McKinney API: Series/DataFrame.to_string return string by default. Series.to_stri...
wesm authored
327 - Changed `buffer` argument name in `Series.to_string` to `buf`
328 - `Series.to_string` and `DataFrame.to_string` now return strings by default
329 instead of printing to sys.stdout
990026e Wes McKinney DOC: pivot_table docs
wesm authored
330 - Deprecated `nanRep` argument in various `to_string` and `to_csv` functions
331 in favor of `na_rep`. Will be removed in 0.6 (GH #275)
6e418a9 Wes McKinney REF: rename delimiter to sep in DataFrame.from_csv and to_csv
wesm authored
332 - Renamed `delimiter` to `sep` in `DataFrame.from_csv` for consistency
1bcf68e Wes McKinney BUG: small API change in Series.clip arg order, enable np.clip to be use...
wesm authored
333 - Changed order of `Series.clip` arguments to match those of `numpy.clip` and
334 added (unimplemented) `out` argument so `numpy.clip` can be called on a
335 Series (GH #272)
b72cfb5 Wes McKinney API: removed functions and methods deprecated in 0.4 Series, address GH ...
wesm authored
336 - Series functions renamed (and thus deprecated) in 0.4 series have been
337 removed:
338
339 * `asOf`, use `asof`
340 * `toDict`, use `to_dict`
341 * `toString`, use `to_string`
342 * `toCSV`, use `to_csv`
343 * `merge`, use `map`
344 * `applymap`, use `apply`
345 * `combineFirst`, use `combine_first`
346 * `_firstTimeWithValue` use `first_valid_index`
347 * `_lastTimeWithValue` use `last_valid_index`
348
349 - DataFrame functions renamed / deprecated in 0.4 series have been removed:
350
351 * `asMatrix` method, use `as_matrix` or `values` attribute
352 * `combineFirst`, use `combine_first`
353 * `getXS`, use `xs`
354 * `merge`, use `join`
355 * `fromRecords`, use `from_records`
356 * `fromcsv`, use `from_csv`
357 * `toRecords`, use `to_records`
358 * `toDict`, use `to_dict`
359 * `toString`, use `to_string`
360 * `toCSV`, use `to_csv`
361 * `_firstTimeWithValue` use `first_valid_index`
362 * `_lastTimeWithValue` use `last_valid_index`
363 * `toDataMatrix` is no longer needed
364 * `rows()` method, use `index` attribute
365 * `cols()` method, use `columns` attribute
366 * `dropEmptyRows()`, use `dropna(how='all')`
367 * `dropIncompleteRows()`, use `dropna()`
368 * `tapply(f)`, use `apply(f, axis=1)`
369 * `tgroupby(keyfunc, aggfunc)`, use `groupby` with `axis=1`
370
371 - Other outstanding deprecations have been removed:
372
373 * `indexField` argument in `DataFrame.from_records`
374 * `missingAtEnd` argument in `Series.order`. Use `na_last` instead
375 * `Series.fromValue` classmethod, use regular `Series` constructor instead
376 * Functions `parseCSV`, `parseText`, and `parseExcel` methods in
377 `pandas.io.parsers` have been removed
378 * `Index.asOfDate` function
379 * `Panel.getMinorXS` (use `minor_xs`) and `Panel.getMajorXS` (use
380 `major_xs`)
381 * `Panel.toWide`, use `Panel.to_wide` instead
4ea44a4 Wes McKinney DOC: increase minor version number to 0.5
wesm authored
382
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
383 **New features / modules**
384
ba35f62 Wes McKinney RLS: release notes
wesm authored
385 - Added `DataFrame.align` method with standard join options
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
386 - Added `parse_dates` option to `read_csv` and `read_table` methods to
387 optionally try to parse dates in the index columns
c93ded7 Wes McKinney DOC: release notes
wesm authored
388 - Add `nrows`, `chunksize`, and `iterator` arguments to `read_csv` and
389 `read_table`. The last two return a new `TextParser` class capable of
390 lazily iterating through chunks of a flat file (GH #242)
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
391 - Added ability to join on multiple columns in `DataFrame.join` (GH #214)
5ca6ff5 Wes McKinney ENH: add explicit duplicate check when creating an index in parsing func...
wesm authored
392 - Added private `_get_duplicates` function to `Index` for identifying
393 duplicate values more easily
4d60df8 Wes McKinney ENH: speed up DataFrame constructor with nested dict, GH #212
wesm authored
394 - Added column attribute access to DataFrame, e.g. df.A equivalent to df['A']
395 if 'A' is a column in the DataFrame (PR #213)
66d5ea1 Wes McKinney DOC: add release note
wesm authored
396 - Added IPython tab completion hook for DataFrame columns. (PR #233, GH #230)
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
397 - Implement `Series.describe` for Series containing objects (PR #241)
398 - Add inner join option to `DataFrame.join` when joining on key(s) (GH #248)
399 - Can select set of DataFrame columns by passing a list to `__getitem__` (GH
400 #253)
c93ded7 Wes McKinney DOC: release notes
wesm authored
401 - Can use & and | to intersection / union Index objects, respectively (GH
402 #261)
cb81978 Wes McKinney ENH: implement Panel.rename_axis, GH #243
wesm authored
403 - Added `pivot_table` convenience function to pandas namespace (GH #234)
404 - Implemented `Panel.rename_axis` function (GH #243)
f85a927 Wes McKinney DOC: some more docs, getting closer to complete for 0.5.0
wesm authored
405 - DataFrame will show index level names in console output
394bb0d Wes McKinney ENH: add Panel.take, implement set ops between MultiIndex and Index. plu...
wesm authored
406 - Implemented `Panel.take`
f587bd1 Wes McKinney DOC: release notes
wesm authored
407 - Add `set_eng_float_format` function for setting alternate DataFrame
408 floating point string formatting
837b7dc Wes McKinney ENH: DataFrame.set_index function, and bugfix when setting DataFrame ind...
wesm authored
409 - Add convenience `set_index` function for creating a DataFrame index from
410 its existing columns
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
411
e3eac67 Wes McKinney ENH: refactored join_managers into a tidy class and sped up joining in h...
wesm authored
412 **Improvements to existing features**
413
988e2a5 Wes McKinney DOC: release note
wesm authored
414 - Major performance improvements in file parsing functions `read_csv` and
415 `read_table`
4d60df8 Wes McKinney ENH: speed up DataFrame constructor with nested dict, GH #212
wesm authored
416 - Added Cython function for converting tuples to ndarray very fast. Speeds up
417 many MultiIndex-related operations
5ca6ff5 Wes McKinney ENH: add explicit duplicate check when creating an index in parsing func...
wesm authored
418 - File parsing functions like `read_csv` and `read_table` will explicitly
419 check if a parsed index has duplicates and raise a more helpful exception
420 rather than deferring the check until later
e3eac67 Wes McKinney ENH: refactored join_managers into a tidy class and sped up joining in h...
wesm authored
421 - Refactored merging / joining code into a tidy class and disabled unnecessary
422 computations in the float/object case, thus getting about 10% better
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
423 performance (GH #211)
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
424 - Improved speed of `DataFrame.xs` on mixed-type DataFrame objects by about
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
425 5x, regression from 0.3.0 (GH #215)
ba35f62 Wes McKinney RLS: release notes
wesm authored
426 - With new `DataFrame.align` method, speeding up binary operations between
427 differently-indexed DataFrame objects by 10-25%.
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
428 - Significantly sped up conversion of nested dict into DataFrame (GH #212)
0113ed4 Wes McKinney BUG: test failure in groupby transform
wesm authored
429 - Can pass hierarchical index level name to `groupby` instead of the level
430 number if desired (GH #223)
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
431 - Add support for different delimiters in `DataFrame.to_csv` (PR #244)
f785ccb Wes McKinney DOC: release notes
wesm authored
432 - Add more helpful error message when importing pandas post-installation from
433 the source directory (GH #250)
196acb8 Wes McKinney DOC: update docs about file parsing functions
wesm authored
434 - Significantly speed up DataFrame `__repr__` and `count` on large mixed-type
435 DataFrame objects
de98e24 Wes McKinney ENH: specify dependency list for tseries Cython module, GH #271
wesm authored
436 - Better handling of pyx file dependencies in Cython module build (GH #271)
9472428 Wes McKinney ENH: handle zip file. pass test suite
wesm authored
437
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
438 **Bug fixes**
439
f789bb7 Wes McKinney BUG: passing list of tuples to Series constructor failed, GH #270
wesm authored
440 - `read_csv` / `read_table` fixes
441 - Be less aggressive about converting float->int in cases of floating point
442 representations of integers like 1.0, 2.0, etc.
443 - "True"/"False" will not get correctly converted to boolean
444 - Index name attribute will get set when specifying an index column
445 - Passing column names should force `header=None` (GH #257)
446 - Don't modify passed column names when `index_col` is not
447 None (GH #258)
448 - Can sniff CSV separator in zip file (since seek is not supported, was
449 failing before)
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
450 - Worked around matplotlib "bug" in which series[:, np.newaxis] fails. Should
451 be reported upstream to matplotlib (GH #224)
7838309 Wes McKinney BUG: iteritems and _series not assigning Series.name
wesm authored
452 - DataFrame.iteritems was not returning Series with the name attribute
453 set. Also neither was DataFrame._series
a84afb9 Wes McKinney BUG: store Index and Series names in HDFStore
wesm authored
454 - Can store datetime.date objects in HDFStore (GH #231)
455 - Index and Series names are now stored in HDFStore
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
456 - Fixed problem in which data would get upcasted to object dtype in
457 GroupBy.apply operations (GH #237)
458 - Fixed outer join bug with empty DataFrame (GH #238)
cc2241d Wes McKinney BUG: can create empty Panel, address GH #239
wesm authored
459 - Can create empty Panel (GH #239)
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
460 - Fix join on single key when passing list with 1 entry (GH #246)
461 - Don't raise Exception on plotting DataFrame with an all-NA column (GH #251,
462 PR #254)
463 - Bug min/max errors when called on integer DataFrames (PR #241)
464 - `DataFrame.iteritems` and `DataFrame._series` not assigning name attribute
579956a Wes McKinney BUG: Panel.__repr__ works with len-0 major/minor axes
wesm authored
465 - Panel.__repr__ raised exception on length-0 major/minor axes
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
466 - `DataFrame.join` on key with empty DataFrame produced incorrect columns
24ed9ed Wes McKinney BUG: implement MultiIndex.diff, add & and | for intersection/union, GH #...
wesm authored
467 - Implemented `MultiIndex.diff` (GH #260)
9ddfc57 Wes McKinney BUG: Int64Index.take and MultiIndex.take don't lost names, GH #262
wesm authored
468 - `Int64Index.take` and `MultiIndex.take` lost name field, fix downstream
469 issue GH #262
f789bb7 Wes McKinney BUG: passing list of tuples to Series constructor failed, GH #270
wesm authored
470 - Can pass list of tuples to `Series` (GH #270)
f838ff9 Wes McKinney BUG: can pass level name to DataFrame.stack
wesm authored
471 - Can pass level name to `DataFrame.stack`
394bb0d Wes McKinney ENH: add Panel.take, implement set ops between MultiIndex and Index. plu...
wesm authored
472 - Support set operations between MultiIndex and Index
3b920ae Wes McKinney BUG: corner cases in MultiIndex set operations
wesm authored
473 - Fix many corner cases in MultiIndex set operations
837b7dc Wes McKinney ENH: DataFrame.set_index function, and bugfix when setting DataFrame ind...
wesm authored
474 - Fix MultiIndex-handling bug with GroupBy.apply when returned groups are not
203f411 Wes McKinney BUG: GroupBy.apply bug with differently indexed MultiIndex objects, test...
wesm authored
475 indexed the same
e4b66db Wes McKinney BUG: more proper handling of no rows / no columns in DataFrame.apply
wesm authored
476 - Fix corner case bugs in DataFrame.apply
837b7dc Wes McKinney ENH: DataFrame.set_index function, and bugfix when setting DataFrame ind...
wesm authored
477 - Setting DataFrame index did not cause Series cache to get cleared
0fa4f1e Wes McKinney ENH: -> int64 everywhere
wesm authored
478 - Various int32 -> int64 platform-specific issues
bb52401 Wes McKinney TST: fix test case broken by last change
wesm authored
479 - Don't be too aggressive converting to integer when parsing file with
480 MultiIndex (GH #285)
c7e3cdb Wes McKinney BLD: docstring fixes to suppress 2to3 warnings
wesm authored
481 - Fix bug when slicing Series with negative indices before beginning
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
482
483 Thanks
484 ------
485
486 - Thomas Kluyver
487 - Daniel Fortunov
488 - Aman Thakral
489 - Luca Beltrame
8ec1c97 Wes McKinney DOC: more miscellaneous docs about new 0.5 features
wesm authored
490 - Wouter Overmeire
0cc5616 Wes McKinney ENH: parser API changes, added parse_dates options, address GH #225, #22...
wesm authored
491
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
492 pandas 0.4.3
493 ============
494
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
495 Release notes
496 -------------
497
d5cb5ee Wes McKinney RLS: update release notes
wesm authored
498 **Release date:** 10/9/2011
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
499
9565fc7 Wes McKinney ENH: SparseSeries binary op speed enhancement in the block case, address...
wesm authored
500 This is largely a bugfix release from 0.4.2 but also includes a handful of new
0d763a7 Wes McKinney TST: skip test on sparse. release notes
wesm authored
501 and enhanced features. Also, pandas can now be installed and used on Python 3
502 (thanks Thomas Kluyver!).
9565fc7 Wes McKinney ENH: SparseSeries binary op speed enhancement in the block case, address...
wesm authored
503
7597471 Wes McKinney ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
504 **New features / modules**
505
9565fc7 Wes McKinney ENH: SparseSeries binary op speed enhancement in the block case, address...
wesm authored
506 - Python 3 support using 2to3 (PR #200, Thomas Kluyver)
0d763a7 Wes McKinney TST: skip test on sparse. release notes
wesm authored
507 - Add `name` attribute to `Series` and added relevant logic and tests. Name
508 now prints as part of `Series.__repr__`
7597471 Wes McKinney ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
509 - Add `name` attribute to standard Index so that stacking / unstacking does
510 not discard names and so that indexed DataFrame objects can be reliably
511 round-tripped to flat files, pickle, HDF5, etc.
87a3370 Wes McKinney RLS: update release notes
wesm authored
512 - Add `isnull` and `notnull` as instance methods on Series (PR #209, GH #203)
7597471 Wes McKinney ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
513
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
514 **Improvements to existing features**
515
516 - Skip xlrd-related unit tests if not installed
914b5c3 Wes McKinney RLS: update release notes
wesm authored
517 - `Index.append` and `MultiIndex.append` can accept a list of Index objects to
518 concatenate together
9565fc7 Wes McKinney ENH: SparseSeries binary op speed enhancement in the block case, address...
wesm authored
519 - Altered binary operations on differently-indexed SparseSeries objects to use
47ddcfc Wes McKinney RLS: update release notes
wesm authored
520 the integer-based (dense) alignment logic which is faster with a larger
521 number of blocks (GH #205)
0d763a7 Wes McKinney TST: skip test on sparse. release notes
wesm authored
522 - Refactored `Series.__repr__` to be a bit more clean and consistent
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
523
cbca296 Wes McKinney ENH: print 25%-75% quartiles instead of 10%-90% deciles in describe. Add...
wesm authored
524 **API Changes**
525
526 - `Series.describe` and `DataFrame.describe` now bring the 25% and 75%
527 quartiles instead of the 10% and 90% deciles. The other outputs have not
528 changed
529 - `Series.toString` will print deprecation warning, has been de-camelCased to
530 `to_string`
531
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
532 **Bug fixes**
533
534 - Fix broken interaction between `Index` and `Int64Index` when calling
535 intersection. Implement `Int64Index.intersection`
536 - `MultiIndex.sortlevel` discarded the level names (GH #202)
914b5c3 Wes McKinney RLS: update release notes
wesm authored
537 - Fix bugs in groupby, join, and append due to improper concatenation of
7597471 Wes McKinney ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
538 `MultiIndex` objects (GH #201)
be4ab5c Wes McKinney BUG: raise more helpful exception when trying to write empty object to H...
wesm authored
539 - Fix regression from 0.4.1, `isnull` and `notnull` ceased to work on other
540 kinds of Python scalar objects like `datetime.datetime`
541 - Raise more helpful exception when attempting to write empty DataFrame or
ff99fdc Wes McKinney ENH: beginning name integration in Index, Series
wesm authored
542 LongPanel to `HDFStore` (GH #204)
cbf7616 Wes McKinney RLS: update release notes
wesm authored
543 - Use stdlib csv module to properly escape strings with commas in
544 `DataFrame.to_csv` (PR #206, Thomas Kluyver)
47ddcfc Wes McKinney RLS: update release notes
wesm authored
545 - Fix Python ndarray access in Cython code for sparse blocked index integrity
546 check
87a3370 Wes McKinney RLS: update release notes
wesm authored
547 - Fix bug writing Series to CSV in Python 3 (PR #209)
1271507 Wes McKinney RLS: release notes
wesm authored
548 - Miscellaneous Python 3 bugfixes
cbf7616 Wes McKinney RLS: update release notes
wesm authored
549
550 Thanks
551 ------
552
553 - Thomas Kluyver
554 - rsamson
cd54aa9 Wes McKinney BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
555
05441c5 Wes McKinney ENH: playing around with the AST. not sure about using magic
wesm authored
556 pandas 0.4.2
557 ============
558
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
559 Release notes
560 -------------
561
35c6b68 Wes McKinney RLS: Version 0.4.2
wesm authored
562 **Release date:** 10/3/2011
05441c5 Wes McKinney ENH: playing around with the AST. not sure about using magic
wesm authored
563
1c3b53c Wes McKinney BUG: fixed incorrect check for integer dtype on 32-bit platforms
wesm authored
564 This is a performance optimization release with several bug fixes. The new
565 Int64Index and new merging / joining Cython code and related Python
566 infrastructure are the main new additions
d585ce5 Wes McKinney RLS: update release notes
wesm authored
567
568 **New features / modules**
569
a9971e3 Wes McKinney TST: test coverage for take functions and added out keyword to take_1d
wesm authored
570 - Added fast `Int64Index` type with specialized join, union,
571 intersection. Will result in significant performance enhancements for
572 int64-based time series (e.g. using NumPy's datetime64 one day) and also
573 faster operations on DataFrame objects storing record array-like data.
d585ce5 Wes McKinney RLS: update release notes
wesm authored
574 - Refactored `Index` classes to have a `join` method and associated data
575 alignment routines throughout the codebase to be able to leverage optimized
576 joining / merging routines.
702a4d6 Wes McKinney TST: finish up pandas.core test coverage, test Series.align
wesm authored
577 - Added `Series.align` method for aligning two series with choice of join
578 method
d585ce5 Wes McKinney RLS: update release notes
wesm authored
579 - Wrote faster Cython data alignment / merging routines resulting in
580 substantial speed increases
581 - Added `is_monotonic` property to `Index` classes with associated Cython
582 code to evaluate the monotonicity of the `Index` values
f1fee8f Wes McKinney ENH: add get_level_values method and tests, address GH #188
wesm authored
583 - Add method `get_level_values` to `MultiIndex`
492a7ff Wes McKinney TST: test DataFrame.take for mixed-dtype
wesm authored
584 - Implemented shallow copy of `BlockManager` object in `DataFrame` internals
d585ce5 Wes McKinney RLS: update release notes
wesm authored
585
586 **Improvements to existing features**
587
588 - Improved performance of `isnull` and `notnull`, a regression from v0.3.0
589 (GH #187)
590 - Wrote templating / code generation script to auto-generate Cython code for
591 various functions which need to be available for the 4 major data types
592 used in pandas (float64, bool, object, int64)
593 - Refactored code related to `DataFrame.join` so that intermediate aligned
594 copies of the data in each `DataFrame` argument do not need to be
595 created. Substantial performance increases result (GH #176)
596 - Substantially improved performance of generic `Index.intersection` and
597 `Index.union`
f1fee8f Wes McKinney ENH: add get_level_values method and tests, address GH #188
wesm authored
598 - Improved performance of `DateRange.union` with overlapping ranges and
599 non-cacheable offsets (like Minute). Implemented analogous fast
600 `DateRange.intersection` for overlapping ranges.
d585ce5 Wes McKinney RLS: update release notes
wesm authored
601 - Implemented `BlockManager.take` resulting in significantly faster `take`
602 performance on mixed-type `DataFrame` objects (GH #104)
603 - Improved performance of `Series.sort_index`
aaea503 Wes McKinney BUG: implement remaining as_index=False handling in DataFrameGroupBy.agg...
wesm authored
604 - Significant groupby performance enhancement: removed unnecessary integrity
605 checks in DataFrame internals that were slowing down slicing operations to
606 retrieve groups
607 - Added informative Exception when passing dict to DataFrame groupby
608 aggregation with axis != 0
d585ce5 Wes McKinney RLS: update release notes
wesm authored
609
a9971e3 Wes McKinney TST: test coverage for take functions and added out keyword to take_1d
wesm authored
610 **API Changes**
611
612 None
613
d585ce5 Wes McKinney RLS: update release notes
wesm authored
614 **Bug fixes**
615
616 - Fixed minor unhandled exception in Cython code implementing fast groupby
617 aggregation operations
618 - Fixed bug in unstacking code manifesting with more than 3 hierarchical
619 levels
620 - Throw exception when step specified in label-based slice (GH #185)
aaea503 Wes McKinney BUG: implement remaining as_index=False handling in DataFrameGroupBy.agg...
wesm authored
621 - Fix isnull to correctly work with np.float32. Fix upstream bug described in
622 GH #182
191200f Wes McKinney ENH: fast DateRange.intersection in some cases and sped up DateRange.uni...
wesm authored
623 - Finish implementation of as_index=False in groupby for DataFrame
624 aggregation (GH #181)
35c6b68 Wes McKinney RLS: Version 0.4.2
wesm authored
625 - Raise SkipTest for pre-epoch HDFStore failure. Real fix will be sorted out
626 via datetime64 dtype
d585ce5 Wes McKinney RLS: update release notes
wesm authored
627
f1fee8f Wes McKinney ENH: add get_level_values method and tests, address GH #188
wesm authored
628 Thanks
629 ------
630
631 - Uri Laserson
632 - Scott Sinclair
633
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
634 pandas 0.4.1
635 ============
636
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
637 Release notes
638 -------------
639
64bbc72 Wes McKinney DOC: update release notes
wesm authored
640 **Release date:** 9/25/2011
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
641
0af7cfa Wes McKinney ENH: speed up assert_almost_equal
wesm authored
642 This is primarily a bug fix release but includes some new features and
10fa2b5 Wes McKinney DOC: update release notes
wesm authored
643 improvements
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
644
dca3c5c Wes McKinney ENH: get_dtype_counts publicized and added dtypes property
wesm authored
645 **New features / modules**
646
647 - Added new `DataFrame` methods `get_dtype_counts` and property `dtypes`
6c8dac2 Wes McKinney DOC: update release notes to match GH milestone
wesm authored
648 - Setting of values using ``.ix`` indexing attribute in mixed-type DataFrame
649 objects has been implemented (fixes GH #135)
650 - `read_csv` can read multiple columns into a `MultiIndex`. DataFrame's
651 `to_csv` method will properly write out a `MultiIndex` which can be read
10fa2b5 Wes McKinney DOC: update release notes
wesm authored
652 back (PR #151, thanks to Skipper Seabold)
d2484b9 Wes McKinney ENH: sped up inner/outer_join_indexer cython functions
wesm authored
653 - Wrote fast time series merging / joining methods in Cython. Will be
654 integrated later into DataFrame.join and related functions
10fa2b5 Wes McKinney DOC: update release notes
wesm authored
655 - Added `ignore_index` option to `DataFrame.append` for combining unindexed
656 records stored in a DataFrame
657
658 **Improvements to existing features**
659
660 - Some speed enhancements with internal Index type-checking function
661 - `DataFrame.rename` has a new `copy` parameter which can rename a DataFrame
662 in place
663 - Enable unstacking by level name (PR #142)
664 - Enable sortlevel to work by level name (PR #141)
665 - `read_csv` can automatically "sniff" other kinds of delimiters using
666 `csv.Sniffer` (PR #146)
cfde7cd Wes McKinney ENH: tinkering with other join impl
wesm authored
667 - Improved speed of unit test suite by about 40%
7fc8194 Wes McKinney BUG: do not allow appending with different item order
wesm authored
668 - Exception will not be raised calling `HDFStore.remove` on non-existent node
669 with where clause
6fa7df2 Wes McKinney ENH: better JR join function
wesm authored
670 - Optimized `_ensure_index` function resulting in performance savings in
671 type-checking Index objects
dca3c5c Wes McKinney ENH: get_dtype_counts publicized and added dtypes property
wesm authored
672
a9971e3 Wes McKinney TST: test coverage for take functions and added out keyword to take_1d
wesm authored
673 **API Changes**
674
675 None
676
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
677 **Bug fixes**
678
86b4ea6 Wes McKinney BUG: handling of Series input to DataFrame constructor
wesm authored
679 - Fixed DataFrame constructor bug causing downstream problems (e.g. .copy()
680 failing) when passing a Series as the values along with a column name and
681 index
9ae251b Wes McKinney DOC: update release notes
wesm authored
682 - Fixed single-key groupby on DataFrame with as_index=False (GH #160)
6c8dac2 Wes McKinney DOC: update release notes to match GH milestone
wesm authored
683 - `Series.shift` was failing on integer Series (GH #154)
684 - `unstack` methods were producing incorrect output in the case of duplicate
685 hierarchical labels. An exception will now be raised (GH #147)
10fa2b5 Wes McKinney DOC: update release notes
wesm authored
686 - Calling `count` with level argument caused reduceat failure or segfault in
687 earlier NumPy (GH #169)
688 - Fixed `DataFrame.corrwith` to automatically exclude non-numeric data (GH
689 #144)
690 - Unicode handling bug fixes in `DataFrame.to_string` (GH #138)
691 - Excluding OLS degenerate unit test case that was causing platform specific
692 failure (GH #149)
693 - Skip blosc-dependent unit tests for PyTables < 2.2 (PR #137)
de502d2 Wes McKinney BUG: DateRange.copy did not produce well-formed object. fixes GH #168
wesm authored
694 - Calling `copy` on `DateRange` did not copy over attributes to the new object
695 (GH #168)
0493cc5 Wes McKinney ENH: add join panel function for testing and later integration
wesm authored
696 - Fix bug in `HDFStore` in which Panel data could be appended to a Table with
697 different item order, thus resulting in an incorrect result read back
10fa2b5 Wes McKinney DOC: update release notes
wesm authored
698
699 Thanks
700 ------
701 - Yaroslav Halchenko
702 - Jeff Reback
703 - Skipper Seabold
704 - Dan Lovell
705 - Nick Pentreath
1ba5625 Wes McKinney ENH: added ignore_index option to DataFrame.append, and speed optimizati...
wesm authored
706
500c76b Wes McKinney ENH: use Series name in GroupBy for result index, GH #363
wesm authored
707 pandas 0.4.0
708 ============
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
709
710 Release notes
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
711 -------------
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
712
42b0b01 Wes McKinney DOC: doc warning fixes
wesm authored
713 **Release date:** 9/12/2011
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
714
715 **New features / modules**
716
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
717 - `pandas.core.sparse` module: "Sparse" (mostly-NA, or some other fill value)
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
718 versions of `Series`, `DataFrame`, and `Panel`. For low-density data, this
40b7278 Wes McKinney DOC: release notes
wesm authored
719 will result in significant performance boosts, and smaller memory
720 footprint. Added `to_sparse` methods to `Series`, `DataFrame`, and
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
721 `Panel`. See online documentation for more on these
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
722 - Fancy indexing operator on Series / DataFrame, e.g. via .ix operator. Both
40b7278 Wes McKinney DOC: release notes
wesm authored
723 getting and setting of values is supported; however, setting values will only
724 currently work on homogeneously-typed DataFrame objects. Things like:
725
726 * series.ix[[d1, d2, d3]]
727 * frame.ix[5:10, ['C', 'B', 'A']], frame.ix[5:10, 'A':'C']
728 * frame.ix[date1:date2]
729
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
730 - Significantly enhanced `groupby` functionality
40b7278 Wes McKinney DOC: release notes
wesm authored
731
732 * Can groupby multiple keys, e.g. df.groupby(['key1', 'key2']). Iteration with
733 multiple groupings products a flattened tuple
734 * "Nuisance" columns (non-aggregatable) will automatically be excluded from
735 DataFrame aggregation operations
736 * Added automatic "dispatching to Series / DataFrame methods to more easily
737 invoke methods on groups. e.g. s.groupby(crit).std() will work even though
738 `std` is not implemented on the `GroupBy` class
739
cdbe7a7 Wes McKinney TST: test coverage
wesm authored
740 - Hierarchical / multi-level indexing
741
742 * New the `MultiIndex` class. Integrated `MultiIndex` into `Series` and
743 `DataFrame` fancy indexing, slicing, __getitem__ and __setitem,
744 reindexing, etc. Added `level` keyword argument to `groupby` to enable
745 grouping by a level of a `MultiIndex`
746
747 - New data reshaping functions: `stack` and `unstack` on DataFrame and Series
748
749 * Integrate with MultiIndex to enable sophisticated reshaping of data
750
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
751 - `Index` objects (labels for axes) are now capable of holding tuples
752 - `Series.describe`, `DataFrame.describe`: produces an R-like table of summary
40b7278 Wes McKinney DOC: release notes
wesm authored
753 statistics about each data column
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
754 - `DataFrame.quantile`, `Series.quantile` for computing sample quantiles of data
40b7278 Wes McKinney DOC: release notes
wesm authored
755 across requested axis
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
756 - Added general `DataFrame.dropna` method to replace `dropIncompleteRows` and
40b7278 Wes McKinney DOC: release notes
wesm authored
757 `dropEmptyRows`, deprecated those.
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
758 - `Series` arithmetic methods with optional fill_value for missing data,
40b7278 Wes McKinney DOC: release notes
wesm authored
759 e.g. a.add(b, fill_value=0). If a location is missing for both it will still
760 be missing in the result though.
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
761 - fill_value option has been added to `DataFrame`.{add, mul, sub, div} methods
40b7278 Wes McKinney DOC: release notes
wesm authored
762 similar to `Series`
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
763 - Boolean indexing with `DataFrame` objects: data[data > 0.1] = 0.1 or
40b7278 Wes McKinney DOC: release notes
wesm authored
764 data[data> other] = 1.
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
765 - `pytz` / tzinfo support in `DateRange`
40b7278 Wes McKinney DOC: release notes
wesm authored
766
767 * `tz_localize`, `tz_normalize`, and `tz_validate` methods added
768
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
769 - Added `ExcelFile` class to `pandas.io.parsers` for parsing multiple sheets out
40b7278 Wes McKinney DOC: release notes
wesm authored
770 of a single Excel 2003 document
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
771 - `GroupBy` aggregations can now optionally *broadcast*, e.g. produce an object
40b7278 Wes McKinney DOC: release notes
wesm authored
772 of the same size with the aggregated value propagated
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
773 - Added `select` function in all data structures: reindex axis based on
40b7278 Wes McKinney DOC: release notes
wesm authored
774 arbitrary criterion (function returning boolean value),
775 e.g. frame.select(lambda x: 'foo' in x, axis=1)
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
776 - `DataFrame.consolidate` method, API function relating to redesigned internals
777 - `DataFrame.insert` method for inserting column at a specified location rather
40b7278 Wes McKinney DOC: release notes
wesm authored
778 than the default __setitem__ behavior (which puts it at the end)
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
779 - `HDFStore` class in `pandas.io.pytables` has been largely rewritten using
40b7278 Wes McKinney DOC: release notes
wesm authored
780 patches from Jeff Reback from others. It now supports mixed-type `DataFrame`
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
781 and `Series` data and can store `Panel` objects. It also has the option to
782 query `DataFrame` and `Panel` data. Loading data from legacy `HDFStore`
40b7278 Wes McKinney DOC: release notes
wesm authored
783 files is supported explicitly in the code
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
784 - Added `set_printoptions` method to modify appearance of DataFrame tabular
40b7278 Wes McKinney DOC: release notes
wesm authored
785 output
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
786 - `rolling_quantile` functions; a moving version of `Series.quantile` /
40b7278 Wes McKinney DOC: release notes
wesm authored
787 `DataFrame.quantile`
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
788 - Generic `rolling_apply` moving window function
789 - New `drop` method added to `Series`, `DataFrame`, etc. which can drop a set of
40b7278 Wes McKinney DOC: release notes
wesm authored
790 labels from an axis, producing a new object
a12d898 Wes McKinney DOC: release notes reformat
wesm authored
791 - `reindex` methods now sport a `copy` option so that data is not forced to be
40b7278 Wes McKinney DOC: release notes
wesm authored
792 copied then the resulting object is indexed the same
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
793 - Added `sort_index` methods to Series and Panel. Renamed `DataFrame.sort`
40b7278 Wes McKinney DOC: release notes
wesm authored
794 to `sort_index`. Leaving `DataFrame.sort` for now.
0b6f950 Wes McKinney DOC: docs about skipna
wesm authored
795 - Added ``skipna`` option to statistical instance methods on all the data
796 structures
1f11fe2 Wes McKinney DOC: sparse docs. getting closer to release
wesm authored
797 - `pandas.io.data` module providing a consistent interface for reading time
798 series data from several different sources
0b6f950 Wes McKinney DOC: docs about skipna
wesm authored
799
ed594bd Wes McKinney boolean indexing work, needs to be part of larger refactor
wesm authored
800 **Improvements to existing features**
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
801
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
802 * The 2-dimensional `DataFrame` and `DataMatrix` classes have been extensively
803 redesigned internally into a single class `DataFrame`, preserving where
804 possible their optimal performance characteristics. This should reduce
805 confusion from users about which class to use.
806
88ad4c0 Wes McKinney DOC: release notes, setup.py updating
wesm authored
807 * Note that under the hood there is a new essentially "lazy evaluation"
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
808 scheme within respect to adding columns to DataFrame. During some
809 operations, like-typed blocks will be "consolidated" but not before.
810
811 * `DataFrame` accessing columns repeatedly is now significantly faster than
812 `DataMatrix` used to be in 0.3.0 due to an internal Series caching mechanism
813 (which are all views on the underlying data)
814 * Column ordering for mixed type data is now completely consistent in
815 `DataFrame`. In prior releases, there was inconsistent column ordering in
816 `DataMatrix`
817 * Improved console / string formatting of DataMatrix with negative numbers
818 * Improved tabular data parsing functions, `read_table` and `read_csv`:
819
820 * Added `skiprows` and `na_values` arguments to `pandas.io.parsers` functions
821 for more flexible IO
822 * `parseCSV` / `read_csv` functions and others in `pandas.io.parsers` now can
823 take a list of custom NA values, and also a list of rows to skip
824
825 * Can slice `DataFrame` and get a view of the data (when homogeneously typed),
826 e.g. frame.xs(idx, copy=False) or frame.ix[idx]
827 * Many speed optimizations throughout `Series` and `DataFrame`
828 * Eager evaluation of groups when calling ``groupby`` functions, so if there is
829 an exception with the grouping function it will raised immediately versus
830 sometime later on when the groups are needed
831 * `datetools.WeekOfMonth` offset can be parameterized with `n` different than 1
832 or -1.
833 * Statistical methods on DataFrame like `mean`, `std`, `var`, `skew` will now
834 ignore non-numerical data. Before a not very useful error message was
835 generated. A flag `numeric_only` has been added to `DataFrame.sum` and
836 `DataFrame.count` to enable this behavior in those methods if so desired
837 (disabled by default)
838 * `DataFrame.pivot` generalized to enable pivoting multiple columns into a
500c76b Wes McKinney ENH: use Series name in GroupBy for result index, GH #363
wesm authored
839 `DataFrame` with hierarchical columns
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
840 * `DataFrame` constructor can accept structured / record arrays
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
841 * `Panel` constructor can accept a dict of DataFrame-like objects. Do not
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
842 need to use `from_dict` anymore (`from_dict` is there to stay, though).
2502bef Wes McKinney added to release notes, removed some deprecated methods, continued work ...
wesm authored
843
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
844 **API Changes**
845
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
846 * The `DataMatrix` variable now refers to `DataFrame`, will be removed within
847 two releases
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
848 * `WidePanel` is now known as `Panel`. The `WidePanel` variable in the pandas
849 namespace now refers to the renamed `Panel` class
850 * `LongPanel` and `Panel` / `WidePanel` now no longer have a common
851 subclass. `LongPanel` is now a subclass of `DataFrame` having a number of
852 additional methods and a hierarchical index instead of the old
853 `LongPanelIndex` object, which has been removed. Legacy `LongPanel` pickles
854 may not load properly
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
855 * Cython is now required to build `pandas` from a development branch. This was
856 done to avoid continuing to check in cythonized C files into source
857 control. Builds from released source distributions will not require Cython
858 * Cython code has been moved up to a top level `pandas/src` directory. Cython
859 extension modules have been renamed and promoted from the `lib` subpackage to
860 the top level, i.e.
861
862 * `pandas.lib.tseries` -> `pandas._tseries`
863 * `pandas.lib.sparse` -> `pandas._sparse`
864
865 * `DataFrame` pickling format has changed. Backwards compatibility for legacy
866 pickles is provided, but it's recommended to consider PyTables-based
867 `HDFStore` for storing data with a longer expected shelf life
868 * A `copy` argument has been added to the `DataFrame` constructor to avoid
869 unnecessary copying of data. Data is no longer copied by default when passed
870 into the constructor
871 * Handling of boolean dtype in `DataFrame` has been improved to support storage
872 of boolean data with NA / NaN values. Before it was being converted to float64
873 so this should not (in theory) cause API breakage
874 * To optimize performance, Index objects now only check that their labels are
875 unique when uniqueness matters (i.e. when someone goes to perform a
876 lookup). This is a potentially dangerous tradeoff, but will lead to much
877 better performance in many places (like groupby).
878 * Boolean indexing using Series must now have the same indices (labels)
879 * Backwards compatibility support for begin/end/nPeriods keyword arguments in
880 DateRange class has been removed
881 * More intuitive / shorter filling aliases `ffill` (for `pad`) and `bfill` (for
882 `backfill`) have been added to the functions that use them: `reindex`,
883 `asfreq`, `fillna`.
884 * `pandas.core.mixins` code moved to `pandas.core.generic`
885 * `buffer` keyword arguments (e.g. `DataFrame.toString`) renamed to `buf` to
886 avoid using Python built-in name
887 * `DataFrame.rows()` removed (use `DataFrame.index`)
888 * Added deprecation warning to `DataFrame.cols()`, to be removed in next release
889 * `DataFrame` deprecations and de-camelCasing: `merge`, `asMatrix`,
890 `toDataMatrix`, `_firstTimeWithValue`, `_lastTimeWithValue`, `toRecords`,
891 `fromRecords`, `tgroupby`, `toString`
892 * `pandas.io.parsers` method deprecations
893
894 * `parseCSV` is now `read_csv` and keyword arguments have been de-camelCased
895 * `parseText` is now `read_table`
896 * `parseExcel` is replaced by the `ExcelFile` class and its `parse` method
897
898 * `fillMethod` arguments (deprecated in prior release) removed, should be
899 replaced with `method`
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
900 * `Series.fill`, `DataFrame.fill`, and `Panel.fill` removed, use `fillna`
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
901 instead
902 * `groupby` functions now exclude NA / NaN values from the list of groups. This
903 matches R behavior with NAs in factors e.g. with the `tapply` function
904 * Removed `parseText`, `parseCSV` and `parseExcel` from pandas namespace
905 * `Series.combineFunc` renamed to `Series.combine` and made a bit more general
906 with a `fill_value` keyword argument defaulting to NaN
907 * Removed `pandas.core.pytools` module. Code has been moved to
908 `pandas.core.common`
909 * Tacked on `groupName` attribute for groups in GroupBy renamed to `name`
16d71f8 Wes McKinney REF: renamed WidePanel -> Panel. legacy pickle support remains and a ref...
wesm authored
910 * Panel/LongPanel `dims` attribute renamed to `shape` to be more conformant
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
911 * Slicing a `Series` returns a view now
912 * More Series deprecations / renaming: `toCSV` to `to_csv`, `asOf` to `asof`,
913 `merge` to `map`, `applymap` to `apply`, `toDict` to `to_dict`,
914 `combineFirst` to `combine_first`. Will print `FutureWarning`.
f970dff Wes McKinney DOC: release notes. and rewrote _make_long_index
wesm authored
915 * `DataFrame.to_csv` does not write an "index" column label by default
916 anymore since the output file can be read back without it. However, there
917 is a new ``index_label`` argument. So you can do ``index_label='index'`` to
918 emulate the old behavior
c4ccfdb Wes McKinney DOC: time series docs, timeRule->time_rule renaming
wesm authored
919 * `datetools.Week` argument renamed from `dayOfWeek` to `weekday`
5cb7bca Wes McKinney DOC: more time series docs and release notes
wesm authored
920 * `timeRule` argument in `shift` has been deprecated in favor of using the
921 `offset` argument for everything. So you can still pass a time rule string
922 to `offset`
b808ce2 Wes McKinney DateRange unit test coverage, tz_validate impl
wesm authored
923
2dc78dc Wes McKinney moving around unit tests, working on fancy get/setitem for objects. fixe...
wesm authored
924 **Bug fixes**
925
b41cc44 Wes McKinney DOC: release notes reformat
wesm authored
926 * Column ordering in `pandas.io.parsers.parseCSV` will match CSV in the presence
927 of mixed-type data
928 * Fixed handling of Excel 2003 dates in `pandas.io.parsers`
929 * `DateRange` caching was happening with high resolution `DateOffset` objects,
930 e.g. `DateOffset(seconds=1)`. This has been fixed
931 * Fixed __truediv__ issue in `DataFrame`
932 * Fixed `DataFrame.toCSV` bug preventing IO round trips in some cases
933 * Fixed bug in `Series.plot` causing matplotlib to barf in exceptional cases
934 * Disabled `Index` objects from being hashable, like ndarrays
935 * Added `__ne__` implementation to `Index` so that operations like ts[ts != idx]
936 will work
937 * Added `__ne__` implementation to `DataFrame`
938 * Bug / unintuitive result when calling `fillna` on unordered labels
939 * Bug calling `sum` on boolean DataFrame
940 * Bug fix when creating a DataFrame from a dict with scalar values
941 * Series.{sum, mean, std, ...} now return NA/NaN when the whole Series is NA
942 * NumPy 1.4 through 1.6 compatibility fixes
943 * Fixed bug in bias correction in `rolling_cov`, was affecting `rolling_corr`
944 too
174422e Wes McKinney DOC: stats docs
wesm authored
945 * R-square value was incorrect in the presence of fixed and time effects in
946 the `PanelOLS` classes
42b0b01 Wes McKinney DOC: doc warning fixes
wesm authored
947 * `HDFStore` can handle duplicates in table format, will take
40b7278 Wes McKinney DOC: release notes
wesm authored
948
3213b0f Wes McKinney read_csv and read_table renamings in parsers.py. updated release notes
wesm authored
949 Thanks
950 ------
40b7278 Wes McKinney DOC: release notes
wesm authored
951 - Joon Ro
952 - Michael Pennington
953 - Chris Uga
954 - Chris Withers
955 - Jeff Reback
956 - Ted Square
957 - Craig Austin
958 - William Ferreira
959 - Daniel Fortunov
960 - Tony Roberts
961 - Martin Felder
962 - John Marino
963 - Tim McNamara
964 - Justin Berka
965 - Dieter Vandenbussche
1f11fe2 Wes McKinney DOC: sparse docs. getting closer to release
wesm authored
966 - Shane Conway
967 - Skipper Seabold
968 - Chris Jordan-Squire
0f67e88 Wes McKinney hasty in removing matrix.py, need for legacy pickles
wesm authored
969
7f3e3b4 Wes McKinney DOC: release notes
wesm authored
970 pandas 0.3.0
971 ============
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
972
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
973 This major release of pandas represents approximately 1 year of continuous
974 development work and brings with it many new features, bug fixes, speed
975 enhancements, and general quality-of-life improvements. The most significant
2666731 Wes McKinney more 0.3.0 release notes
wesm authored
976 change from the 0.2 release has been the completion of a rigorous unit test
977 suite covering all of the core functionality.
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
978
6c4b257 Wes McKinney DOC: release notes
wesm authored
979 Release notes
9c45f6f Wes McKinney BUG: pivot should raise exception if there are duplicate entries,
wesm authored
980 -------------
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
981
982 **Release date:** February 20, 2011
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
983
984 **New features / modules**
985
64248dd Wes McKinney added release notes
wesm authored
986 * DataFrame / DataMatrix classes
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
987
64248dd Wes McKinney added release notes
wesm authored
988 * `corrwith` function to compute column- or row-wise correlations between two
989 objects
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
990 * Can boolean-index DataFrame objects, e.g. df[df > 2] = 2, px[px > last_px] = 0
991 * Added comparison magic methods (__lt__, __gt__, etc.)
992 * Flexible explicit arithmetic methods (add, mul, sub, div, etc.)
993 * Added `reindex_like` method
64248dd Wes McKinney added release notes
wesm authored
994
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
995 * WidePanel
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
996
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
997 * Added `reindex_like` method
998
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
999 * `pandas.io`: IO utilities
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1000
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1001 * `pandas.io.sql` module
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1002
1003 * Convenience functions for accessing SQL-like databases
1004
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1005 * `pandas.io.pytables` module
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1006
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1007 * Added (still experimental) HDFStore class for storing pandas data
1008 structures using HDF5 / PyTables
1009
1010 * `pandas.core.datetools`
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1011
1012 * Added WeekOfMonth date offset
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1013
1014 * `pandas.rpy` (experimental) module created, provide some interfacing /
1015 conversion between rpy2 and pandas
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1016
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
1017 **Improvements**
1018
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1019 * Unit test coverage: 100% line coverage of core data structures
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1020
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1021 * Speed enhancement to rolling_{median, max, min}
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1022
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1023 * Column ordering between DataFrame and DataMatrix is now consistent: before
1024 DataFrame would not respect column order
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1025
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1026 * Improved {Series, DataFrame}.plot methods to be more flexible (can pass
1027 matplotlib Axis arguments, plot DataFrame columns in multiple subplots, etc.)
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1028
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
1029 **API Changes**
1030
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1031 * Exponentially-weighted moment functions in `pandas.stats.moments`
1032 have a more consistent API and accept a min_periods argument like
1033 their regular moving counterparts.
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1034
64248dd Wes McKinney added release notes
wesm authored
1035 * **fillMethod** argument in Series, DataFrame changed to **method**,
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1036 `FutureWarning` added.
1037
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1038 * **fill** method in Series, DataFrame/DataMatrix, WidePanel renamed to
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1039 **fillna**, `FutureWarning` added to **fill**
1040
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1041 * Renamed **DataFrame.getXS** to **xs**, `FutureWarning` added
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1042
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1043 * Removed **cap** and **floor** functions from DataFrame, renamed to
1044 **clip_upper** and **clip_lower** for consistency with NumPy
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1045
2aeb176 Wes McKinney misc documentation, some work on rpy2 interface. near git migration
wesm authored
1046 **Bug fixes**
1047
ff091a8 Wes McKinney notes nearing 0.3 release
wesm authored
1048 * Fixed bug in IndexableSkiplist Cython code that was breaking
1049 rolling_max function
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1050
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1051 * Numerous numpy.int64-related indexing fixes
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1052
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1053 * Several NumPy 1.4.0 NaN-handling fixes
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1054
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1055 * Bug fixes to pandas.io.parsers.parseCSV
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1056
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1057 * Fixed `DateRange` caching issue with unusual date offsets
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1058
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1059 * Fixed bug in `DateRange.union`
ebe1f0d Wes McKinney DOC: release notes reformat. note about hierarchical indexing
wesm authored
1060
d07fbc8 Wes McKinney 0.3.0 release notes
wesm authored
1061 * Fixed corner case in `IndexableSkiplist` implementation
Something went wrong with that request. Please try again.