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