Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 1399 lines (1228 sloc) 64.455 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,
2985283 @wesm DOC: update docs to reflect new PyData home
wesm authored
6 see the commit logs at http://github.com/pydata/pandas
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
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
2985283 @wesm DOC: update docs to reflect new PyData home
wesm authored
21 * Source code: http://github.com/pydata/pandas
fd4c4c9 @wesm DOC: update read_csv docs
wesm authored
22 * Binary installers on PyPI: http://pypi.python.org/pypi/pandas
d207a25 @wesm BUG: always return True for onOffset for regular DateOffset, close #770
wesm authored
23 * Documentation: http://pandas.pydata.org
7f3e3b4 @wesm DOC: release notes
wesm authored
24
039d2a7 @wesm ENH: optimize fillna for 2D blocks, add inplace option, GH #788, #786
wesm authored
25 pandas 0.7.1
26 ============
27
28 **Release date:** NOT YET RELEASED
29
30 **Bug fixes**
31
32 - Fix memory leak when inserting large number of columns into a single
33 DataFrame (#790)
d716b74 @wesm BUG: fix DataFrame.append bug with length-0 frame with new columns, G…
wesm authored
34 - Appending length-0 DataFrame with new columns would not result in those new
35 columns being part of the resulting concatenated DataFrame (#782)
039d2a7 @wesm ENH: optimize fillna for 2D blocks, add inplace option, GH #788, #786
wesm authored
36
604273c @wesm ENH: perf opt, don't take when indexes are equivalent, merge unit tes…
wesm authored
37 pandas 0.7.0
4d0eef0 @wesm DOC: add whatsnew skeleton section
wesm authored
38 ============
39
d207a25 @wesm BUG: always return True for onOffset for regular DateOffset, close #770
wesm authored
40 **Release date:** 2/9/2012
4d0eef0 @wesm DOC: add whatsnew skeleton section
wesm authored
41
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
42 **New features / modules**
43
5279659 @wesm DOC: release notes
wesm authored
44 - New ``merge`` function for efficiently performing full gamut of database /
45 relational-algebra operations. Refactored existing join methods to use the
46 new infrastructure, resulting in substantial performance gains (GH #220,
47 #249, #267)
befdc57 @wesm DOC: release notes
wesm authored
48 - New ``concat`` function for concatenating DataFrame or Panel objects along
49 an axis. Can form union or intersection of the other axes. Improves
50 performance of ``DataFrame.append`` (#468, #479, #273)
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
51 - Handle differently-indexed output values in ``DataFrame.apply`` (GH #498)
5a38dca @wesm ENH: can pass list of dicts to DataFrame constructor, support Cython …
wesm authored
52 - Can pass list of dicts (e.g., a list of shallow JSON objects) to DataFrame
53 constructor (GH #526)
96f25f9 @wesm TST: testing + docstring for DataFrame/Panel.get function, per #521
wesm authored
54 - Add ``reorder_levels`` method to Series and DataFrame (PR #534)
55 - Add dict-like ``get`` function to DataFrame and Panel (PR #521)
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
56 - ``DataFrame.iterrows`` method for efficiently iterating through the rows of
57 a DataFrame
6203957 @wesm BUG: return NA in all-NA case in Series.corr instead of raising excep…
wesm authored
58 - Added ``DataFrame.to_panel`` with code adapted from ``LongPanel.to_long``
59 - ``reindex_axis`` method added to DataFrame
277eb1e @wesm ENH: speed up join / align ops in cases where axes are equal
wesm authored
60 - Add ``level`` option to binary arithmetic functions on ``DataFrame`` and
61 ``Series``
5d7cf07 @wesm ENH: level option to Series.align/reindex, arith methods, misc relate…
wesm authored
62 - Add ``level`` option to the ``reindex`` and ``align`` methods on Series and
63 DataFrame for broadcasting values across a level (GH #542, PR #552, others)
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
64 - Add attribute-based item access to ``Panel`` and add IPython completion (PR
ceb6a27 @adamklein added docs covering new features
adamklein authored
65 #554)
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
66 - Add ``logy`` option to ``Series.plot`` for log-scaling on the Y axis
b75c4d3 @wesm ENH: add bold_rows option to DataFrame.to_html, GH #586
wesm authored
67 - Add ``index``, ``header``, and ``justify`` options to
bd5c5ac @wesm DOC: release notes and minor docstring fix
wesm authored
68 ``DataFrame.to_string``. Add option to (GH #570, GH #571)
d420334 @wesm TST: test coverage and concat bugfix
wesm authored
69 - Can pass multiple DataFrames to ``DataFrame.join`` to join on index (GH #115)
70 - Can pass multiple Panels to ``Panel.join`` (GH #115)
71 - Can pass multiple DataFrames to `DataFrame.append` to concatenate (stack)
18ca639 @wesm ENH: factorize + groupsort to massively improve multi-column sort_ind…
wesm authored
72 and multiple Series to ``Series.append`` too
95bac66 @adamklein DOC: added justify docs
adamklein authored
73 - Added ``justify`` argument to ``DataFrame.to_string`` to allow different
74 alignment of column headers
fbb1102 @wesm ENH: use bottleneck for implemented nanops if installed, GH #91
wesm authored
75 - Add ``sort`` option to GroupBy to allow disabling sorting of the group keys
76 for potential speedups (GH #595)
77 - Can pass MaskedArray to Series constructor (PR #563)
78 - Add Panel item access via attributes and IPython completion (GH #554)
f494fbd @wesm ENH: implement DataFrame.lookup for label-based vector fancy indexing…
wesm authored
79 - Implement ``DataFrame.lookup``, fancy-indexing analogue for retrieving
80 values given a sequence of row and column labels (GH #338)
3ed22d7 @wesm ENH: add verbose option to read_csv/read_table to print number of NA …
wesm authored
81 - Add ``verbose`` option to ``read_csv`` and ``read_table`` to show number of
82 NA values inserted in non-numeric columns (GH #614)
81a4853 @wesm ENH: add ability to pass list of dicts to DataFrame.append (GH #464)
wesm authored
83 - Can pass a list of dicts or Series to ``DataFrame.append`` to concatenate
84 multiple rows (GH #464)
908cae5 @wesm ENH: crosstab prototype function, API needs fleshing out, GH #170
wesm authored
85 - Add ``level`` argument to ``DataFrame.xs`` for selecting data from other
bb654f8 @wesm DOC: release notes
wesm authored
86 MultiIndex levels. Can take one or more levels with potentially a tuple of
87 keys for flexible retrieval of data (GH #371, GH #629)
4bea867 @wesm ENH: add crosstab function and test
wesm authored
88 - New ``crosstab`` function for easily computing frequency tables (GH #170)
c65a098 @wesm DOC: release notes
wesm authored
89 - Can pass a list of functions to aggregate with groupby on a DataFrame,
90 yielding an aggregated result with hierarchical columns (GH #166)
3fae25e @wesm ENH: add integer indexing functions iget/irow/icol, GH #628
wesm authored
91 - Add integer-indexing functions ``iget`` in Series and ``irow`` / ``iget``
92 in DataFrame (GH #628)
59ad564 @wesm BUG: don't lose columns name when passing list of labels to DataFrame…
wesm authored
93 - Add new ``Series.unique`` function, significantly faster than
94 ``numpy.unique`` (GH #658)
e66d25e @adamklein DOC: added release notes, docs for #288, #647
adamklein authored
95 - Add new ``cummin`` and ``cummax`` instance methods to ``Series`` and
96 ``DataFrame`` (GH #647)
97 - Add new ``value_range`` function to return min/max of a dataframe (GH #288)
12094e9 @adamklein ENH: added drop parameter to reset_index, added to Series for symmetry
adamklein authored
98 - Add ``drop`` parameter to ``reset_index`` method of ``DataFrame`` and added
99 method to ``Series`` as well (GH #699)
83774f2 @wesm ENH: add isin method to Index, GH #657
wesm authored
100 - Add ``isin`` method to Index objects, works just like ``Series.isin`` (GH
101 #657)
3583373 @wesm ENH: add abs method to objects, implement array interface on Panel, S…
wesm authored
102 - Implement array interface on Panel so that ufuncs work (re: #740)
3cb301e @wesm ENH: add sort option to DataFrame.join + vbench, GH #731
wesm authored
103 - Add ``sort`` option to ``DataFrame.join`` (GH #731)
9b07b42 @wesm ENH: improved handling of NAs in binary ops with object Series, GH #737
wesm authored
104 - Improved handling of NAs (propagation) in binary operations with
105 dtype=object arrays (GH #737)
ae4ba92 @adamklein DOC: added docs for 7 release
adamklein authored
106 - Add ``abs`` method to Pandas objects
107 - Added ``algorithms`` module to start collecting central algos
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
108
604273c @wesm ENH: perf opt, don't take when indexes are equivalent, merge unit tes…
wesm authored
109 **API Changes**
110
bd275d7 @wesm DOC: concat docs, add some release notes about integer-indexing API c…
wesm authored
111 - Label-indexing with integer indexes now raises KeyError if a label is not
ae4ba92 @adamklein DOC: added docs for 7 release
adamklein authored
112 found instead of falling back on location-based indexing (GH #700)
bd275d7 @wesm DOC: concat docs, add some release notes about integer-indexing API c…
wesm authored
113 - Label-based slicing via ``ix`` or ``[]`` on Series will now only work if
114 exact matches for the labels are found or if the index is monotonic (for
115 range selections)
116 - Label-based slicing and sequences of labels can be passed to ``[]`` on a
117 Series for both getting and setting (GH #86)
6e54384 @wesm DOC: release notes
wesm authored
118 - `[]` operator (``__getitem__`` and ``__setitem__``) will raise KeyError
119 with integer indexes when an index is not contained in the index. The prior
120 behavior would fall back on position-based indexing if a key was not found
121 in the index which would lead to subtle bugs. This is now consistent with
122 the behavior of ``.ix`` on DataFrame and friends (GH #328)
604273c @wesm ENH: perf opt, don't take when indexes are equivalent, merge unit tes…
wesm authored
123 - Rename ``DataFrame.delevel`` to ``DataFrame.reset_index`` and add
124 deprecation warning
125 - `Series.sort` (an in-place operation) called on a Series which is a view on
126 a larger array (e.g. a column in a DataFrame) will generate an Exception to
127 prevent accidentally modifying the data source (GH #316)
128 - Refactor to remove deprecated ``LongPanel`` class (PR #552)
129 - Deprecated ``Panel.to_long``, renamed to ``to_frame``
6738677 @adamklein added release notes, whatsnew doc
adamklein authored
130 - Deprecated ``colSpace`` argument in ``DataFrame.to_string``, renamed to
131 ``col_space``
bd5c5ac @wesm DOC: release notes and minor docstring fix
wesm authored
132 - Rename ``precision`` to ``accuracy`` in engineering float formatter (GH
133 #395)
88fcac5 @wesm ENH: close #694, #693, #692
wesm authored
134 - The default delimiter for ``read_csv`` is comma rather than letting
135 ``csv.Sniffer`` infer it
ae4ba92 @adamklein DOC: added docs for 7 release
adamklein authored
136 - Rename ``col_or_columns`` argument in ``DataFrame.drop_duplicates`` (GH
137 #734)
604273c @wesm ENH: perf opt, don't take when indexes are equivalent, merge unit tes…
wesm authored
138
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
139 **Improvements to existing features**
140
141 - Better error message in DataFrame constructor when passed column labels
142 don't match data (GH #497)
143 - Substantially improve performance of multi-GroupBy aggregation when a
144 Python function is passed, reuse ndarray object in Cython (GH #496)
145 - Can store objects indexed by tuples and floats in HDFStore (GH #492)
146 - Don't print length by default in Series.to_string, add `length` option (GH
147 #489)
148 - Improve Cython code for multi-groupby to aggregate without having to sort
149 the data (GH #93)
150 - Improve MultiIndex reindexing speed by storing tuples in the MultiIndex,
151 test for backwards unpickling compatibility
152 - Improve column reindexing performance by using specialized Cython take
153 function
154 - Further performance tweaking of Series.__getitem__ for standard use cases
bf8fc90 @wesm ENH: do some extra type-checking in engines.pyx to avoid unnecessary …
wesm authored
155 - Avoid Index dict creation in some cases (i.e. when getting slices, etc.),
156 regression from prior versions
b27a074 @wesm DOC: release notes
wesm authored
157 - Friendlier error message in setup.py if NumPy not installed
a0c3a57 @wesm ENH: use nanops in Panel aggregation methods, GH #536
wesm authored
158 - Use common set of NA-handling operations (sum, mean, etc.) in Panel class
159 also (GH #536)
dbdb6e0 @wesm ENH: default name assignment with regular index in reset_index, GH #476
wesm authored
160 - Default name assignment when calling ``reset_index`` on DataFrame with a
161 regular (non-hierarchical) index (GH #476)
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
162 - Use Cythonized groupers when possible in Series/DataFrame stat ops with
163 ``level`` parameter passed (GH #545)
62c504b @wesm BUG: fix C skiplist memory leak, use in rolling median, GH #374
wesm authored
164 - Ported skiplist data structure to C to speed up ``rolling_median`` by about
165 5-10x in most typical use cases (GH #374)
7349a85 @wesm ENH: avoid data copying in reindex_items where possible
wesm authored
166 - Some performance enhancements in constructing a Panel from a dict of
167 DataFrame objects
3b1c5b7 @wesm ENH: extensively refactor BlockJoinOperation to support n > 2, Concat…
wesm authored
168 - Made ``Index._get_duplicates`` a public method by removing the underscore
a3d9a5d @adamklein FIX, ENH: #395 got float formatting working
adamklein authored
169 - Prettier printing of floats, and column spacing fix (GH #395, GH #571)
b75c4d3 @wesm ENH: add bold_rows option to DataFrame.to_html, GH #586
wesm authored
170 - Add ``bold_rows`` option to DataFrame.to_html (GH #586)
18ca639 @wesm ENH: factorize + groupsort to massively improve multi-column sort_ind…
wesm authored
171 - Improve the performance of ``DataFrame.sort_index`` by up to 5x or more
9d65e8e @wesm ENH: improve performance of DataFrame/Series contructors from nested …
wesm authored
172 when sorting by multiple columns
173 - Substantially improve performance of DataFrame and Series constructors when
42ce8ff @wesm ENH: start tightening up API around integer slicing per #592
wesm authored
174 passed a nested dict or dict, respectively (GH #540, GH #621)
8ffcbf8 @wesm BUG: formatting of index level names in MultiIndex, per #601
wesm authored
175 - Modified setup.py so that pip / setuptools will install dependencies (GH
176 #507, various pull requests)
bd5c5ac @wesm DOC: release notes and minor docstring fix
wesm authored
177 - Unstack called on DataFrame with non-MultiIndex will return Series (GH
178 #477)
179 - Improve DataFrame.to_string and console formatting to be more consistent in
180 the number of displayed digits (GH #395)
85b75f9 @wesm TST: test both with and without bottleneck, GH #91
wesm authored
181 - Use bottleneck if available for performing NaN-friendly statistical
182 operations that it implemented (GH #91)
3ed22d7 @wesm ENH: add verbose option to read_csv/read_table to print number of NA …
wesm authored
183 - Monkey-patch context to traceback in ``DataFrame.apply`` to indicate which
184 row/column the function application failed on (GH #614)
a4b0a2e @wesm BUG: fix bugs related to comments in #371
wesm authored
185 - Improved ability of read_table and read_clipboard to parse
186 console-formatted DataFrames (can read the row of index names, etc.)
07215be @wesm DOC: release notes
wesm authored
187 - Can pass list of group labels (without having to convert to an ndarray
188 yourself) to ``groupby`` in some cases (GH #659)
1cae09c @wesm ENH: can pass sequence of integers to DataFrame.{irow/icol} and Serie…
wesm authored
189 - Use ``kind`` argument to Series.order for selecting different sort kinds
190 (GH #668)
1e49e7b @wesm TST: unit test for PR #684
wesm authored
191 - Add option to Series.to_csv to omit the index (PR #684)
cf129c3 @wesm DOC: release notes
wesm authored
192 - Add ``delimiter`` as an alternative to ``sep`` in ``read_csv`` and other
193 parsing functions
095f7c8 @wesm ENH: optimized Cython groupby routines for aggregating 2D blocks, add…
wesm authored
194 - Substantially improved performance of groupby on DataFrames with many
195 columns by aggregating blocks of columns all at once (GH #745)
cc2a8a7 @wesm DOC: release notes
wesm authored
196 - Can pass a file handle or StringIO to Series/DataFrame.to_csv (GH #765)
ae4ba92 @adamklein DOC: added docs for 7 release
adamklein authored
197 - Can pass sequence of integers to DataFrame.irow(icol) and Series.iget, (GH
198 #654)
199 - Prototypes for some vectorized string functions
200 - Add float64 hash table to solve the Series.unique problem with NAs (GH #714)
201 - Memoize objects when reading from file to reduce memory footprint
d207a25 @wesm BUG: always return True for onOffset for regular DateOffset, close #770
wesm authored
202 - Can get and set a column of a DataFrame with hierarchical columns
203 containing "empty" ('') lower levels without passing the empty levels (PR
204 #768)
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
205
206 **Bug fixes**
207
208 - Raise exception in out-of-bounds indexing of Series instead of
209 seg-faulting, regression from earlier releases (GH #495)
210 - Fix error when joining DataFrames of different dtypes within the same
211 typeclass (e.g. float32 and float64) (GH #486)
212 - Fix bug in Series.min/Series.max on objects like datetime.datetime (GH
213 #487)
214 - Preserve index names in Index.union (GH #501)
215 - Fix bug in Index joining causing subclass information (like DateRange type)
216 to be lost in some cases (GH #500)
217 - Accept empty list as input to DataFrame constructor, regression from 0.6.0
218 (GH #491)
219 - Can output DataFrame and Series with ndarray objects in a dtype=object
220 array (GH #490)
221 - Return empty string from Series.to_string when called on empty Series (GH
222 #488)
86a9304 @wesm BUG: handle empty list passed to DataFrame.from_records
wesm authored
223 - Fix exception passing empty list to DataFrame.from_records
875e4f2 @wesm BUG: Index.format bug excluding name field with timestamps
wesm authored
224 - Fix Index.format bug (excluding name field) with datetimes with time info
894d6b2 @wesm BUG: handle rows skipped at beginning of CSV file, GH #505
wesm authored
225 - Fix scalar value access in Series to always return NumPy scalars,
226 regression from prior versions (GH #510)
63541b6 @wesm DOC: release notes
wesm authored
227 - Handle rows skipped at beginning of file in read_* functions (GH #505)
02b387a @wesm BUG: don't cast to int/bool when introducing NAs
wesm authored
228 - Handle improper dtype casting in ``set_value`` methods
626c76f @wesm BUG: fix unary - on boolean DataFrame
wesm authored
229 - Unary '-' / __neg__ operator on DataFrame was returning integer values
caa242a @wesm BUG: improper handling of mis-matched columns in DataFrame.combine, G…
wesm authored
230 - Unbox 0-dim ndarrays from certain operators like all, any in Series
109df32 @wesm BUG: Index.insert / MultiIndex.insert discarded names, GH #527
wesm authored
231 - Fix handling of missing columns (was combine_first-specific) in
232 DataFrame.combine for general case (GH #529)
8b948da @wesm BUG: fix boolean inference logic in DataFrame indexing, elsewhere
wesm authored
233 - Fix type inference logic with boolean lists and arrays in DataFrame indexing
f596a22 @wesm BUG: use centered tss in r-square with entity or time effects in pane…
wesm authored
234 - Use centered sum of squares in R-square computation if entity_effects=True
235 in panel regression
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
236 - Handle all NA case in Series.{corr, cov}, was raising exception (GH #548)
138f732 @wesm BUG: fix Series agg by level also and utilize Cython methods, GH #545
wesm authored
237 - Aggregating by multiple levels with ``level`` argument to DataFrame, Series
238 stat method, was broken (GH #545)
716ebdc @wesm BUG: fix scalar setting via ix with MultiIndex, GH #551
wesm authored
239 - Fix Cython buf when converter passed to read_csv produced a numeric array
240 (buffer dtype mismatch when passed to Cython type inference function) (GH
241 #546)
242 - Fix exception when setting scalar value using .ix on a DataFrame with a
243 MultiIndex (GH #551)
930a567 @adamklein added test coverage, fixed DateRange join bug
adamklein authored
244 - Fix outer join between two DateRanges with different offsets that returned
245 an invalid DateRange
dd36684 @adamklein add note to release doc
adamklein authored
246 - Cleanup DataFrame.from_records failure where index argument is an integer
ddaeb6c @adamklein got test_frame coverage to 100%
adamklein authored
247 - Fix Data.from_records failure when passed a dictionary
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
248 - Fix NA handling in {Series, DataFrame}.rank with non-floating point dtypes
249 - Fix bug related to integer type-checking in .ix-based indexing
250 - Handle non-string index name passed to DataFrame.from_records
251 - DataFrame.insert caused the columns name(s) field to be discarded (GH #527)
6738677 @adamklein added release notes, whatsnew doc
adamklein authored
252 - Fix erroneous in monotonic many-to-one left joins
253 - Fix DataFrame.to_string to remove extra column white space (GH #571)
254 - Format floats to default to same number of digits (GH #395)
255 - Added decorator to copy docstring from one function to another (GH #449)
9093ad6 @wesm BUG: DateOffset.__eq__ between offsets with different keywords
wesm authored
256 - Fix error in monotonic many-to-one left joins
257 - Fix __eq__ comparison between DateOffsets with different relativedelta
258 keywords passed
418717a @wesm ENH: type inference internals toward #328, update R merge benchmarks
wesm authored
259 - Fix exception caused by parser converter returning strings (GH #583)
bd5c5ac @wesm DOC: release notes and minor docstring fix
wesm authored
260 - Fix MultiIndex formatting bug with integer names (GH #601)
85b75f9 @wesm TST: test both with and without bottleneck, GH #91
wesm authored
261 - Fix bug in handling of non-numeric aggregates in Series.groupby (GH #612)
f494fbd @wesm ENH: implement DataFrame.lookup for label-based vector fancy indexing…
wesm authored
262 - Fix TypeError with tuple subclasses (e.g. namedtuple) in
263 DataFrame.from_records (GH #611)
bd275d7 @wesm DOC: concat docs, add some release notes about integer-indexing API c…
wesm authored
264 - Catch misreported console size when running IPython within Emacs
9cd3e49 @wesm BUG: don't lose index names when adding row margin
wesm authored
265 - Fix minor bug in pivot table margins, loss of index names and length-1
266 'All' tuple in row labels
91cfcb4 @wesm BUG: Fix out-of-bounds segfault in pad_object and backfill_object met…
wesm authored
267 - Add support for legacy WidePanel objects to be read from HDFStore
268 - Fix out-of-bounds segfault in pad_object and backfill_object methods when
269 either source or target array are empty
581c939 @wesm BUG: enable DataFrame column creation from a list of tuples
wesm authored
270 - Could not create a new column in a DataFrame from a list of tuples
4d22954 @wesm BUG: pass on sort kind from Series.sort to order and in argsort GH #668
wesm authored
271 - Fix bugs preventing SparseDataFrame and SparseSeries working with groupby
272 (GH #666)
1cae09c @wesm ENH: can pass sequence of integers to DataFrame.{irow/icol} and Serie…
wesm authored
273 - Use sort kind in Series.sort / argsort (GH #668)
02f60c3 @adamklein DOCS: added release notes to fix for #672
adamklein authored
274 - Fix DataFrame operations on non-scalar, non-pandas objects (GH #672)
99e2eec @wesm DOC: more on gotchas, review integer indexing API changes, GH #627
wesm authored
275 - Don't convert DataFrame column to integer type when passing integer to
276 __setitem__ (GH #669)
ea12f6a @wesm DOC: release notes
wesm authored
277 - Fix downstream bug in pivot_table caused by integer level names in
278 MultiIndex (GH #678)
49dab2a @wesm DOC: release notes, python 2.5 product compat
wesm authored
279 - Fix SparseSeries.combine_first when passed a dense Series (GH #687)
280 - Fix performance regression in HDFStore loading when DataFrame or Panel
281 stored in table format with datetimes
1e49e7b @wesm TST: unit test for PR #684
wesm authored
282 - Raise Exception in DateRange when offset with n=0 is passed (GH #683)
00993bc @adamklein BUG: inconsistency in .ix with integer label and float index
adamklein authored
283 - Fix get/set inconsistency with .ix property and integer location but
284 non-integer index (GH #707)
3a17c1e @wesm DOC: DataFrame.to_string/Series.to_string docstrings, GH #732
wesm authored
285 - Use right dropna function for SparseSeries. Return dense Series for NA fill
286 value (GH #730)
922d041 @wesm BUG: also try to cast non-MultiIndex to better dtype when calling res…
wesm authored
287 - Fix Index.format bug causing incorrectly string-formatted Series with
db2ffc5 @adamklein DOC: fix duplicates in release
adamklein authored
288 datetime indexes (# 726, 758)
2123d6b @wesm ENH: refactor groupby and accelerate groupby with integer keys, add v…
wesm authored
289 - Fix errors caused by object dtype arrays passed to ols (GH #759)
ae4ba92 @adamklein DOC: added docs for 7 release
adamklein authored
290 - Fix error where column names lost when passing list of labels to
291 DataFrame.__getitem__, (GH #662)
292 - Fix error whereby top-level week iterator overwrote week instance
293 - Fix circular reference causing memory leak in sparse array / series /
294 frame, (GH #663)
295 - Fix integer-slicing from integers-as-floats (GH #670)
296 - Fix zero division errors in nanops from object dtype arrays in all NA case
297 (GH #676)
298 - Fix csv encoding when using unicode (GH #705, #717, #738)
299 - Fix assumption that each object contains every unique block type in concat,
300 (GH #708)
301 - Fix sortedness check of multiindex in to_panel (GH #719, 720)
302 - Fix that None was not treated as NA in PyObjectHashtable
303 - Fix hashing dtype because of endianness confusion (GH #747, #748)
304 - Fix SparseSeries.dropna to return dense Series in case of NA fill value (GH
305 #730)
306 - Use map_infer instead of np.vectorize. handle NA sentinels if converter
307 yields numeric array, (GH #753)
308 - Fixes and improvements to DataFrame.rank (GH #742)
309 - Fix catching AttributeError instead of NameError for bottleneck
310 - Try to cast non-MultiIndex to better dtype when calling reset_index (GH #726
311 #440)
312 - Fix #1.QNAN0' float bug on 2.6/win64
313 - Allow subclasses of dicts in DataFrame constructor, with tests
314 - Fix problem whereby set_index destroys column multiindex (GH #764)
41fbd8f @wesm TST: fix debian / 2.5 test
wesm authored
315 - Hack around bug in generating DateRange from naive DateOffset (GH #770)
9fea06d @wesm BUG: actually pass encoding to UnicodeWriter
wesm authored
316 - Fix bug in DateRange.intersection causing incorrect results with some
317 overlapping ranges (GH #771)
93a1398 @wesm DOC: add whatsnew stuff for 0.6.2, reorg vbench suite. release notes
wesm authored
318
319 Thanks
320 ------
894d6b2 @wesm BUG: handle rows skipped at beginning of CSV file, GH #505
wesm authored
321 - Craig Austin
d207a25 @wesm BUG: always return True for onOffset for regular DateOffset, close #770
wesm authored
322 - Chris Billington
6e54384 @wesm DOC: release notes
wesm authored
323 - Marius Cobzarenco
f596a22 @wesm BUG: use centered tss in r-square with entity or time effects in pane…
wesm authored
324 - Mario Gamboa-Cavazos
3fae25e @wesm ENH: add integer indexing functions iget/irow/icol, GH #628
wesm authored
325 - Hans-Martin Gaudecker
af0bd8f @wesm BUG: raise Exception when calling Series.sort on an array view, GH #316
wesm authored
326 - Arthur Gerigk
85b75f9 @wesm TST: test both with and without bottleneck, GH #91
wesm authored
327 - Yaroslav Halchenko
3ed22d7 @wesm ENH: add verbose option to read_csv/read_table to print number of NA …
wesm authored
328 - Jeff Hammerbacher
6203957 @wesm BUG: return NA in all-NA case in Series.corr instead of raising excep…
wesm authored
329 - Matt Harrison
330 - Andreas Hilboll
418717a @wesm ENH: type inference internals toward #328, update R merge benchmarks
wesm authored
331 - Luc Kesters
04edff4 @wesm REF: starting to refactor for removing LongPanel, GH #108
wesm authored
332 - Adam Klein
02b387a @wesm BUG: don't cast to int/bool when introducing NAs
wesm authored
333 - Gregg Lind
63541b6 @wesm DOC: release notes
wesm authored
334 - Solomon Negusse
894d6b2 @wesm BUG: handle rows skipped at beginning of CSV file, GH #505
wesm authored
335 - Wouter Overmeire
336 - Christian Prinoth
c3708f2 @wesm DOC: 0.7.0 docs, add iget_value alias and DataFrame.iget_value, GH #627
wesm authored
337 - Jeff Reback
894d6b2 @wesm BUG: handle rows skipped at beginning of CSV file, GH #505
wesm authored
338 - Sam Reckoner
339 - Craig Reeson
340 - Jan Schulz
1e49e7b @wesm TST: unit test for PR #684
wesm authored
341 - Skipper Seabold
6203957 @wesm BUG: return NA in all-NA case in Series.corr instead of raising excep…
wesm authored
342 - Ted Square
bd275d7 @wesm DOC: concat docs, add some release notes about integer-indexing API c…
wesm authored
343 - Graham Taylor
3fae25e @wesm ENH: add integer indexing functions iget/irow/icol, GH #628
wesm authored
344 - Aman Thakral
6e54384 @wesm DOC: release notes
wesm authored
345 - Chris Uga
894d6b2 @wesm BUG: handle rows skipped at beginning of CSV file, GH #505
wesm authored
346 - Dieter Vandenbussche
eef27e6 @wesm DOC: release note
wesm authored
347 - Texas P.
9093ad6 @wesm BUG: DateOffset.__eq__ between offsets with different keywords
wesm authored
348 - Pinxing Ye
99e2eec @wesm DOC: more on gotchas, review integer indexing API changes, GH #627
wesm authored
349 - ... and everyone I forgot
4d0eef0 @wesm DOC: add whatsnew skeleton section
wesm authored
350
45dff0c @wesm BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
351 pandas 0.6.1
352 ============
353
be46b6c @wesm DOC: release notes
wesm authored
354 **Release date:** 12/13/2011
45dff0c @wesm BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
355
53ff161 @wesm REF: rename names -> columns + deprec warning in DataFrame.from_recor…
wesm authored
356 **API Changes**
357
358 - Rename `names` argument in DataFrame.from_records to `columns`. Add
359 deprecation warning
daf0b13 @wesm BUG/ENH: reindex boolean Series passed to getitem/setitem, GH #429
wesm authored
360 - Boolean get/set operations on Series with boolean Series will reindex
361 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
362
07ffb7b @wesm ENH: can pass Series to DataFrame.append, GH #430
wesm authored
363 **New features / modules**
364
365 - Can pass Series to DataFrame.append with ignore_index=True for appending a
366 single row (GH #430)
113511e @wesm ENH: add kendall/spearman correlation methods, GH #428
wesm authored
367 - Add Spearman and Kendall correlation options to Series.corr and
368 DataFrame.corr (GH #428)
7394761 @wesm DOC: release notes
wesm authored
369 - Add new `get_value` and `set_value` methods to Series, DataFrame, and Panel
370 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
371 is about 3x faster than df[column][row] by handling fewer cases (GH #437,
372 #438). Add similar methods to sparse data structures for compatibility
3a528c4 @wesm DOC: release notes
wesm authored
373 - Add Qt table widget to sandbox (PR #435)
b1ca192 @wesm ENH: index Cython method refactoring, left_join bugfix, sparse bugfix
wesm authored
374 - 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
375 - Implement new SparseList and SparseArray data structures. SparseSeries now
376 derives from SparseArray (GH #463)
34db250 @wesm DOC: release notes
wesm authored
377 - 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
378 - Implement Series.rank and DataFrame.rank, fast versions of
379 scipy.stats.rankdata (GH #428)
53ff161 @wesm REF: rename names -> columns + deprec warning in DataFrame.from_recor…
wesm authored
380 - Implement DataFrame.from_items alternate constructor (GH #444)
5e62a26 @wesm ENH: DataFrame.convert_objects for inferring better dtypes, GH #302
wesm authored
381 - DataFrame.convert_objects method for inferring better dtypes for object
382 columns (GH #302)
cc46392 @wesm ENH: rolling_corr_pairwise function re: #189
wesm authored
383 - Add rolling_corr_pairwise function for computing Panel of correlation
384 matrices (GH #189)
3b8ad3e @wesm BUG: handling of grand margin when no columns passed, GH #114
wesm authored
385 - Add `margins` option to `pivot_table` for computing subgroup aggregates (GH
386 #114)
21bad0f @wesm BUG: proper type inference with list of lists passed to DataFrame con…
wesm authored
387 - Add `Series.from_csv` function (PR #482)
3a528c4 @wesm DOC: release notes
wesm authored
388
c34616c @wesm DOC: release notes
wesm authored
389 **Improvements to existing features**
3a528c4 @wesm DOC: release notes
wesm authored
390
c34616c @wesm DOC: release notes
wesm authored
391 - Improve memory usage of `DataFrame.describe` (do not copy data
392 unnecessarily) (PR #425)
8a2520b @wesm BUG: fix common.take_1d failure with empty array, GH #434
wesm authored
393 - Use same formatting function for outputting floating point Series to console
394 as in DataFrame (PR #420)
5d94e1b @wesm ENH: exclude non-numeric dtypes in DataFrame.corr, motivated by #440
wesm authored
395 - 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
396 - Exclude non-numeric types in DataFrame.{corr, cov}
3b59845 @wesm BUG/ENH: override Index.astype to prevent Index with non-object dtype…
wesm authored
397 - Override Index.astype to enable dtype casting (GH #412)
3a528c4 @wesm DOC: release notes
wesm authored
398 - Use same float formatting function for Series.__repr__ (PR #420)
1c91bca @wesm BUG: unstack multiple levels bug described in #451
wesm authored
399 - 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
400 - Accept ndarrays when setting items in Panel (GH #452)
34db250 @wesm DOC: release notes
wesm authored
401 - Infer console width when printing __repr__ of DataFrame to console (PR
402 #453)
403 - Optimize scalar value lookups in the general case by 25% or more in Series
404 and DataFrame
31f5662 @wesm ENH: rolling_corr/rolling_cov can take DF/DF and DF/Series combos for…
wesm authored
405 - Can pass DataFrame/DataFrame and DataFrame/Series to
406 rolling_corr/rolling_cov (GH #462)
3686a62 @wesm DOC: release notes
wesm authored
407 - Fix performance regression in cross-sectional count in DataFrame, affecting
408 DataFrame.dropna speed
f8cc267 @wesm BUG/ENH: fix stale reference caused by block modification described i…
wesm authored
409 - Column deletion in DataFrame copies no data (computes views on blocks) (GH
410 #158)
3544e73 @wesm ENH: get_level_values accept level name
wesm authored
411 - MultiIndex.get_level_values can take the level name
be46b6c @wesm DOC: release notes
wesm authored
412 - More helpful error message when DataFrame.plot fails on one of the columns
413 (GH #478)
318f1d5 @wesm ENH: logy option to Seires.plot, release notes, bump dev version to 0…
wesm authored
414 - Improve performance of DataFrame.{index, columns} attribute lookup
c34616c @wesm DOC: release notes
wesm authored
415
45dff0c @wesm BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
416 **Bug fixes**
417
62ea0cf @wesm DOC: release notes, sparse submodule
wesm authored
418 - Fix O(K^2) memory leak caused by inserting many columns without
419 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
420 - `DataFrame.count` should return Series with zero instead of NA with length-0
421 axis (GH #423)
c34616c @wesm DOC: release notes
wesm authored
422 - 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
423 - 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
424 - Function passed to DataFrame.apply can return a list, as long as it's the
425 right length. Regression from 0.4 (GH #432)
0537bdf @wesm BUG: groupby.agg(len) failure with column selected and as_index=False…
wesm authored
426 - Don't "accidentally" upcast scalar values when indexing using .ix (GH #431)
427 - Fix groupby exception raised with as_index=False and single column selected
428 (GH #421)
9ada28a @wesm BUG: DateRange union bug caused by DateOffset __ne__ not being implem…
wesm authored
429 - Implement DateOffset.__ne__ causing downstream bug (GH #456)
1c91bca @wesm BUG: unstack multiple levels bug described in #451
wesm authored
430 - Fix __doc__-related issue when converting py -> pyo with py2exe
34db250 @wesm DOC: release notes
wesm authored
431 - Bug fix in left join Cython code with duplicate monotonic labels
432 - Fix bug when unstacking multiple levels described in #451
9c20734 @wesm ENH: implement rank function in Cython for Series and DataFrame, per …
wesm authored
433 - 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
434 - Use Cython map_infer function in DataFrame.applymap to properly infer
435 output type, handle tuple return values and other things that were breaking
436 (GH #465)
ca6adc6 @wesm ENH: DataFrame.from_items alternate constructor for sequence of (key,…
wesm authored
437 - Handle floating point index values in HDFStore (GH #454)
f8cc267 @wesm BUG/ENH: fix stale reference caused by block modification described i…
wesm authored
438 - Fixed stale column reference bug (cached Series object) caused by type
439 change / item deletion in DataFrame (GH #473)
d96a8c2 @wesm BUG: Index.get_loc should always raise exception with duplicates
wesm authored
440 - Index.get_loc should always raise Exception when there are duplicates
6a079a0 @wesm DOC: release notes
wesm authored
441 - Handle differently-indexed Series input to DataFrame constructor (GH #475)
a0c5090 @wesm BUG: omit nuisance columns in multi-groupby with Python agger
wesm authored
442 - Omit nuisance columns in multi-groupby with Python function
3686a62 @wesm DOC: release notes
wesm authored
443 - Buglet in handling of single grouping in general apply
a733583 @wesm BUG: preserve index names in GroupBy.apply concat step, GH #481
wesm authored
444 - Handle type inference properly when passing list of lists or tuples to
445 DataFrame constructor (GH #484)
446 - Preserve Index / MultiIndex names in GroupBy.apply concatenation step (GH
447 #481)
0537bdf @wesm BUG: groupby.agg(len) failure with column selected and as_index=False…
wesm authored
448
c34616c @wesm DOC: release notes
wesm authored
449 Thanks
450 ------
451 - Ralph Bean
3686a62 @wesm DOC: release notes
wesm authored
452 - Luca Beltrame
453 - Marius Cobzarenco
454 - Andreas Hilboll
3a528c4 @wesm DOC: release notes
wesm authored
455 - Jev Kuznetsov
3686a62 @wesm DOC: release notes
wesm authored
456 - Adam Lichtenstein
8a2520b @wesm BUG: fix common.take_1d failure with empty array, GH #434
wesm authored
457 - Wouter Overmeire
3a528c4 @wesm DOC: release notes
wesm authored
458 - Fernando Perez
d665004 @wesm BUG: exclude NAs also with dtype=object in nanmean, others, GH #469
wesm authored
459 - Nathan Pinger
34db250 @wesm DOC: release notes
wesm authored
460 - Christian Prinoth
6a079a0 @wesm DOC: release notes
wesm authored
461 - Alex Reyfman
3b59845 @wesm BUG/ENH: override Index.astype to prevent Index with non-object dtype…
wesm authored
462 - Joon Ro
463 - Chang She
d472cd7 @wesm BUG: handle differently-indexed Series input to DataFrame constructor…
wesm authored
464 - Ted Square
c6d05e5 @wesm BUG: DataFrame.apply function returning list resulted in unexpected S…
wesm authored
465 - Chris Uga
21bad0f @wesm BUG: proper type inference with list of lists passed to DataFrame con…
wesm authored
466 - Dieter Vandenbussche
45dff0c @wesm BUG: DataFrame.count behavior in corner case as described in GH #423
wesm authored
467
9f25c79 @wesm BUG: infer better return type in DataFrame.apply with empty frame, GH…
wesm authored
468 pandas 0.6.0
23f68e3 @wesm DOC: update release note
wesm authored
469 ============
470
010a620 @wesm RLS: bump version to 0.6.0
wesm authored
471 **Release date:** 11/25/2011
23f68e3 @wesm DOC: update release note
wesm authored
472
eaf38f9 @wesm BUG: handle mixed-type frames carefully in unstack, GH #403
wesm authored
473 **API Changes**
474
475 - Arithmetic methods like `sum` will attempt to sum dtype=object values by
476 default instead of excluding them (GH #382)
477
cf32be2 @wesm ENH: add melt function, speed up DataFrame.apply
wesm authored
478 **New features / modules**
479
480 - Add `melt` function to `pandas.core.reshape`
36851c7 @wesm BUG: catch Exception instead of TypeError in multi-groupby code, surf…
wesm authored
481 - Add `level` parameter to group by level in Series and DataFrame
482 descriptive statistics (PR #313)
483 - Add `head` and `tail` methods to Series, analogous to to DataFrame (PR
484 #296)
049b71d @wesm ENH: add Series.isin, address GH #289
wesm authored
485 - Add `Series.isin` function which checks if each value is contained in a
486 passed sequence (GH #289)
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
487 - Add `float_format` option to `Series.to_string`
90de456 @wesm ENH: refactoring groupby plots, add DataFrame.boxplot function, close…
wesm authored
488 - Add `skip_footer` (GH #291) and `converters` (GH #343) options to
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
489 `read_csv` and `read_table`
490 - Add proper, tested weighted least squares to standard and panel OLS (GH
491 #303)
492 - Add `drop_duplicates` and `duplicated` functions for removing duplicate
493 DataFrame rows and checking for duplicate rows, respectively (GH #319)
494 - Implement logical (boolean) operators &, |, ^ on DataFrame (GH #347)
495 - Add `Series.mad`, mean absolute deviation, matching DataFrame
fea3ff8 @wesm DOC: release note about pull reqs
wesm authored
496 - Add `QuarterEnd` DateOffset (PR #321)
58e2f36 @wesm ENH: add DataFrame.dot for matrix multiplication, GH #65
wesm authored
497 - Add matrix multiplication function `dot` to DataFrame (GH #65)
43d895c @wesm ENH: add orient option to Panel.from_dict, GH #359
wesm authored
498 - 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
499 Panels (GH #359, #301)
0b201dc @wesm ENH: add DataFrame.from_dict with orient option
wesm authored
500 - Add `DataFrame.from_dict` with similar `orient` option
e5c933b @wesm ENH: add map_infer function, use to speed up Series.map/apply, close …
wesm authored
501 - Can now pass list of tuples or list of lists to `DataFrame.from_records`
502 for fast conversion to DataFrame (GH #357)
73ab1c1 @wesm ENH: group by multiple levels, GH #103
wesm authored
503 - Can pass multiple levels to groupby, e.g. `df.groupby(level=[0, 1])` (GH
504 #103)
74f5d6d @wesm ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
505 - Can sort by multiple columns in `DataFrame.sort_index` (GH #92, PR #362)
028129c @wesm TST: release notes and DataFrame.plot tests
wesm authored
506 - Add fast `get_value` and `put_value` methods to DataFrame and
507 micro-performance tweaks (GH #360)
74f5d6d @wesm ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
508 - 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
509 - Add bar plot option to `DataFrame.plot` (PR #348)
5d7f6b7 @wesm DOC: release notes
wesm authored
510 - Add `idxmin` and `idxmax` functions to Series and DataFrame for computing
511 index labels achieving maximum and minimum values (PR #286)
fa10e29 @wesm ENH: read_clipboard function using code from IPython, GH #300
wesm authored
512 - Add `read_clipboard` function for parsing DataFrame from OS clipboard,
513 should work across platforms (GH #300)
ff877b4 @wesm ENH: use series name as the column name if passed to DataFrame constr…
wesm authored
514 - Add `nunique` function to Series for counting unique elements (GH #297)
515 - DataFrame constructor will use Series name if no columns passed (GH #373)
ab92792 @wesm ENH: enable regular expressions / long delimiters in read_table/csv, …
wesm authored
516 - Support regular expressions and longer delimiters in read_table/read_csv,
517 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
518 - Add `DataFrame.to_html` for formatting DataFrame to HTML (PR #387)
519 - MaskedArray can be passed to DataFrame constructor and masked values will be
520 converted to NaN (PR #396)
0d2e1a7 @wesm TST: remove special regression window/cluster constants, misc testing
wesm authored
521 - Add `DataFrame.boxplot` function (GH #368, others)
6418067 @wesm BUG: pass index name in GroupBy.apply, GH #416
wesm authored
522 - Can pass extra args, kwds to DataFrame.apply (GH #376)
74f5d6d @wesm ENH: Cython Reducer, speed up DataFrame.apply significantly, GH #309
wesm authored
523
cf32be2 @wesm ENH: add melt function, speed up DataFrame.apply
wesm authored
524 **Improvements to existing features**
525
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
526 - Raise more helpful exception if date parsing fails in DateRange (GH #298)
527 - Vastly improved performance of GroupBy on axes with a MultiIndex (GH #299)
528 - Print level names in hierarchical index in Series repr (GH #305)
529 - Return DataFrame when performing GroupBy on selected column and
530 as_index=False (GH #308)
531 - Can pass vector to `on` argument in `DataFrame.join` (GH #312)
532 - Don't show Series name if it's None in the repr, also omit length for short
533 Series (GH #317)
534 - Show legend by default in `DataFrame.plot`, add `legend` boolean flag (GH
535 #324)
536 - Significantly improved performance of `Series.order`, which also makes
010a620 @wesm RLS: bump version to 0.6.0
wesm authored
537 np.unique called on a Series faster (GH #327)
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
538 - Faster cythonized count by level in Series and DataFrame (GH #341)
539 - Raise exception if dateutil 2.0 installed on Python 2.x runtime (GH #346)
540 - Significant GroupBy performance enhancement with multiple keys with many
541 "empty" combinations
e5c933b @wesm ENH: add map_infer function, use to speed up Series.map/apply, close …
wesm authored
542 - New Cython vectorized function `map_infer` speeds up `Series.apply` and
543 `Series.map` significantly when passed elementwise Python function,
544 motivated by PR #355
028129c @wesm TST: release notes and DataFrame.plot tests
wesm authored
545 - Cythonized `cache_readonly`, resulting in substantial micro-performance
546 enhancements throughout the codebase (GH #361)
75026f2 @wesm ENH: int64 type handling fix, tweaks, GH #309
wesm authored
547 - Special Cython matrix iterator for applying arbitrary reduction operations
548 with 3-5x better performance than `np.apply_along_axis` (GH #309)
549 - Add `raw` option to `DataFrame.apply` for getting better performance when
550 the passed function only requires an ndarray (GH #309)
6ee3eae @wesm TST: test coverage, release note
wesm authored
551 - Improve performance of `MultiIndex.from_tuples`
3e2e7af @wesm BUG: handling of mixed-type frames in DataFrame.apply, GH #377
wesm authored
552 - Can pass multiple levels to `stack` and `unstack` (GH #370)
f16158c @wesm DOC: release notes
wesm authored
553 - Can pass multiple values columns to `pivot_table` (GH #381)
51f4e02 @wesm ENH: enable call delevel with standard index, GH #393
wesm authored
554 - 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
555 - 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
556 - Refactor Series/DataFrame stat methods to use common set of NaN-friendly
557 function
2be59ff @wesm ENH: wrap NumPy C API function for detecting all integer types
wesm authored
558 - Handle NumPy scalar integers at C level in Cython conversion routines
cf32be2 @wesm ENH: add melt function, speed up DataFrame.apply
wesm authored
559
23f68e3 @wesm DOC: update release note
wesm authored
560 **Bug fixes**
561
562 - Fix bug in `DataFrame.to_csv` when writing a DataFrame with an index
563 name (GH #290)
e34c8a9 @wesm DOC: release notes re: GH #304
wesm authored
564 - DataFrame should clear its Series caches on consolidation, was causing
565 "stale" Series to be returned in some corner cases (GH #304)
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
566 - DataFrame constructor failed if a column had a list of tuples (GH #293)
567 - Ensure that `Series.apply` always returns a Series and implement
568 `Series.round` (GH #314)
569 - Support boolean columns in Cythonized groupby functions (GH #315)
570 - `DataFrame.describe` should not fail if there are no numeric columns,
571 instead return categorical describe (GH #323)
572 - Fixed bug which could cause columns to be printed in wrong order in
573 `DataFrame.to_string` if specific list of columns passed (GH #325)
574 - Fix legend plotting failure if DataFrame columns are integers (GH #326)
575 - Shift start date back by one month for Yahoo! Finance API in pandas.io.data
576 (GH #329)
577 - Fix `DataFrame.join` failure on unconsolidated inputs (GH #331)
578 - DataFrame.min/max will no longer fail on mixed-type DataFrame (GH #337)
579 - Fix `read_csv` / `read_table` failure when passing list to index_col that is
580 not in ascending order (GH #349)
581 - Fix failure passing Int64Index to Index.union when both are monotonic
582 - Fix error when passing SparseSeries to (dense) DataFrame constructor
b5e7ade @wesm BUG: Series.__radd__ needs to be order-specific with string series, G…
wesm authored
583 - 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
584 - Change `is_monotonic` on MultiIndex so it properly compares the tuples
585 - Fix MultiIndex outer join logic (GH #351)
30e539c @wesm BUG: set index name attribute in single-key groupby, GH #358
wesm authored
586 - Set index name attribute with single-key groupby (GH #358)
90de456 @wesm ENH: refactoring groupby plots, add DataFrame.boxplot function, close…
wesm authored
587 - Bug fix in reflexive binary addition in Series and DataFrame for
588 non-commutative operations (like string concatenation) (GH #353)
589 - setupegg.py will invoke Cython (GH #192)
81ef580 @wesm BUG: fix join op between Index/Int64Index, GH #367
wesm authored
590 - Fix block consolidation bug after inserting column into MultiIndex (GH #366)
591 - 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
592 - Handle min_periods=0 case in moving window functions (GH #365)
53ca3f1 @wesm BUG: fix empty DataFrame corner cases described in #378
wesm authored
593 - 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
594 - Fixed repr exception when Series name is a tuple
b7c3d2c @wesm BUG: don't lose names in MultiIndex.droplevel, fix #394
wesm authored
595 - Always return DateRange from `asfreq` (GH #390)
596 - Pass level names to `swaplavel` (GH #379)
51f4e02 @wesm ENH: enable call delevel with standard index, GH #393
wesm authored
597 - Don't lose index names in `MultiIndex.droplevel` (GH #394)
8d29268 @wesm DOC: release notes
wesm authored
598 - Infer more proper return type in `DataFrame.apply` when no columns or rows
599 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
600 - Always return NA/NaN from Series.min/max and DataFrame.min/max when all of a
601 row/column/values are NA (GH #384)
eaf38f9 @wesm BUG: handle mixed-type frames carefully in unstack, GH #403
wesm authored
602 - Enable partial setting with .ix / advanced indexing (GH #397)
603 - Handle mixed-type DataFrames correctly in unstack, do not lose type
604 information (GH #403)
ef76764 @wesm BUG: index integer name format bug, plus handle non-string columns in…
wesm authored
605 - Fix integer name formatting bug in Index.format and in Series.__repr__
606 - 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
607 - Fix bug in .ix-based indexing with partial retrieval when a label is not
608 contained in a level
609 - Index name was not being pickled (GH #408)
2be59ff @wesm ENH: wrap NumPy C API function for detecting all integer types
wesm authored
610 - Level name should be passed to result index in GroupBy.apply (GH #416)
e34c8a9 @wesm DOC: release notes re: GH #304
wesm authored
611
612 Thanks
613 ------
614
f16158c @wesm DOC: release notes
wesm authored
615 - Craig Austin
6ee3eae @wesm TST: test coverage, release note
wesm authored
616 - Marius Cobzarenco
81ef580 @wesm BUG: fix join op between Index/Int64Index, GH #367
wesm authored
617 - Joel Cross
36851c7 @wesm BUG: catch Exception instead of TypeError in multi-groupby code, surf…
wesm authored
618 - Jeff Hammerbacher
619 - Adam Klein
b1fb3bc @wesm BUG: treat min_periods=0 as 1 in moving window functions, GH #365
wesm authored
620 - Thomas Kluyver
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
621 - Jev Kuznetsov
6ee3eae @wesm TST: test coverage, release note
wesm authored
622 - Kieran O'Mahony
623 - Wouter Overmeire
624 - Nathan Pinger
81ef580 @wesm BUG: fix join op between Index/Int64Index, GH #367
wesm authored
625 - Christian Prinoth
d15088c @wesm ENH: refactor Series stat ops to use common nanops, test #384 for Series
wesm authored
626 - Skipper Seabold
6ee3eae @wesm TST: test coverage, release note
wesm authored
627 - Chang She
f16158c @wesm DOC: release notes
wesm authored
628 - Ted Square
6ee3eae @wesm TST: test coverage, release note
wesm authored
629 - Aman Thakral
2be59ff @wesm ENH: wrap NumPy C API function for detecting all integer types
wesm authored
630 - Chris Uga
0cf966b @wesm DOC: 0.5.1 release notes
wesm authored
631 - Dieter Vandenbussche
6ee3eae @wesm TST: test coverage, release note
wesm authored
632 - carljv
58e2f36 @wesm ENH: add DataFrame.dot for matrix multiplication, GH #65
wesm authored
633 - rsamson
23f68e3 @wesm DOC: update release note
wesm authored
634
4ea44a4 @wesm DOC: increase minor version number to 0.5
wesm authored
635 pandas 0.5.0
e3eac67 @wesm ENH: refactored join_managers into a tidy class and sped up joining i…
wesm authored
636 ============
637
8f79f7c @wesm RLS: Version 0.5.0
wesm authored
638 **Release date:** 10/24/2011
e3eac67 @wesm ENH: refactored join_managers into a tidy class and sped up joining i…
wesm authored
639
ea45212 @wesm DOC: release notes
wesm authored
640 This release of pandas includes a number of API changes (see below) and cleanup
f785ccb @wesm DOC: release notes
wesm authored
641 of deprecated APIs from pre-0.4.0 releases. There are also bug fixes, new
642 features, numerous significant performance enhancements, and includes a new
643 IPython completer hook to enable tab completion of DataFrame columns accesses
644 as attributes (a new feature).
4db8b72 @wesm DOC: release notes
wesm authored
645
646 In addition to the changes listed here from 0.4.3 to 0.5.0, the minor releases
647 0.4.1, 0.4.2, and 0.4.3 brought some significant new functionality and
648 performance improvements that are worth taking a look at.
649
f785ccb @wesm DOC: release notes
wesm authored
650 Thanks to all for bug reports, contributed patches and generally providing
4db8b72 @wesm DOC: release notes
wesm authored
651 feedback on the library.
088e20f @wesm DOC: release note
wesm authored
652
4ea44a4 @wesm DOC: increase minor version number to 0.5
wesm authored
653 **API Changes**
654
655 - `read_table`, `read_csv`, and `ExcelFile.parse` default arguments for
656 `index_col` is now None. To use one or more of the columns as the resulting
657 DataFrame's index, these must be explicitly specified now
fc78e34 @wesm DOC: minor release note update
wesm authored
658 - Parsing functions like `read_csv` no longer parse dates by default (GH
659 #225)
52723fa @wesm DOC: release notes
wesm authored
660 - Removed `weights` option in panel regression which was not doing anything
7f3e3b4 @wesm DOC: release notes
wesm authored
661 principled (GH #155)
36345fd @wesm API: Series/DataFrame.to_string return string by default. Series.to_s…
wesm authored
662 - Changed `buffer` argument name in `Series.to_string` to `buf`
663 - `Series.to_string` and `DataFrame.to_string` now return strings by default
664 instead of printing to sys.stdout
990026e @wesm DOC: pivot_table docs
wesm authored
665 - Deprecated `nanRep` argument in various `to_string` and `to_csv` functions
666 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
667 - 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
668 - Changed order of `Series.clip` arguments to match those of `numpy.clip` and
669 added (unimplemented) `out` argument so `numpy.clip` can be called on a
670 Series (GH #272)
b72cfb5 @wesm API: removed functions and methods deprecated in 0.4 Series, address …
wesm authored
671 - Series functions renamed (and thus deprecated) in 0.4 series have been
672 removed:
673
674 * `asOf`, use `asof`
675 * `toDict`, use `to_dict`
676 * `toString`, use `to_string`
677 * `toCSV`, use `to_csv`
678 * `merge`, use `map`
679 * `applymap`, use `apply`
680 * `combineFirst`, use `combine_first`
681 * `_firstTimeWithValue` use `first_valid_index`
682 * `_lastTimeWithValue` use `last_valid_index`
683
684 - DataFrame functions renamed / deprecated in 0.4 series have been removed:
685
686 * `asMatrix` method, use `as_matrix` or `values` attribute
687 * `combineFirst`, use `combine_first`
688 * `getXS`, use `xs`
689 * `merge`, use `join`
690 * `fromRecords`, use `from_records`
691 * `fromcsv`, use `from_csv`
692 * `toRecords`, use `to_records`
693 * `toDict`, use `to_dict`
694 * `toString`, use `to_string`
695 * `toCSV`, use `to_csv`
696 * `_firstTimeWithValue` use `first_valid_index`
697 * `_lastTimeWithValue` use `last_valid_index`
698 * `toDataMatrix` is no longer needed
699 * `rows()` method, use `index` attribute
700 * `cols()` method, use `columns` attribute
701 * `dropEmptyRows()`, use `dropna(how='all')`
702 * `dropIncompleteRows()`, use `dropna()`
703 * `tapply(f)`, use `apply(f, axis=1)`
704 * `tgroupby(keyfunc, aggfunc)`, use `groupby` with `axis=1`
705
706 - Other outstanding deprecations have been removed:
707
708 * `indexField` argument in `DataFrame.from_records`
709 * `missingAtEnd` argument in `Series.order`. Use `na_last` instead
710 * `Series.fromValue` classmethod, use regular `Series` constructor instead
711 * Functions `parseCSV`, `parseText`, and `parseExcel` methods in
712 `pandas.io.parsers` have been removed
713 * `Index.asOfDate` function
714 * `Panel.getMinorXS` (use `minor_xs`) and `Panel.getMajorXS` (use
715 `major_xs`)
716 * `Panel.toWide`, use `Panel.to_wide` instead
4ea44a4 @wesm DOC: increase minor version number to 0.5
wesm authored
717
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
718 **New features / modules**
719
ba35f62 @wesm RLS: release notes
wesm authored
720 - Added `DataFrame.align` method with standard join options
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
721 - Added `parse_dates` option to `read_csv` and `read_table` methods to
722 optionally try to parse dates in the index columns
c93ded7 @wesm DOC: release notes
wesm authored
723 - Add `nrows`, `chunksize`, and `iterator` arguments to `read_csv` and
724 `read_table`. The last two return a new `TextParser` class capable of
725 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
726 - 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
727 - Added private `_get_duplicates` function to `Index` for identifying
728 duplicate values more easily
4d60df8 @wesm ENH: speed up DataFrame constructor with nested dict, GH #212
wesm authored
729 - Added column attribute access to DataFrame, e.g. df.A equivalent to df['A']
730 if 'A' is a column in the DataFrame (PR #213)
66d5ea1 @wesm DOC: add release note
wesm authored
731 - Added IPython tab completion hook for DataFrame columns. (PR #233, GH #230)
7f3e3b4 @wesm DOC: release notes
wesm authored
732 - Implement `Series.describe` for Series containing objects (PR #241)
733 - Add inner join option to `DataFrame.join` when joining on key(s) (GH #248)
734 - Can select set of DataFrame columns by passing a list to `__getitem__` (GH
735 #253)
c93ded7 @wesm DOC: release notes
wesm authored
736 - Can use & and | to intersection / union Index objects, respectively (GH
737 #261)
cb81978 @wesm ENH: implement Panel.rename_axis, GH #243
wesm authored
738 - Added `pivot_table` convenience function to pandas namespace (GH #234)
739 - Implemented `Panel.rename_axis` function (GH #243)
f85a927 @wesm DOC: some more docs, getting closer to complete for 0.5.0
wesm authored
740 - DataFrame will show index level names in console output
394bb0d @wesm ENH: add Panel.take, implement set ops between MultiIndex and Index. …
wesm authored
741 - Implemented `Panel.take`
f587bd1 @wesm DOC: release notes
wesm authored
742 - Add `set_eng_float_format` function for setting alternate DataFrame
743 floating point string formatting
837b7dc @wesm ENH: DataFrame.set_index function, and bugfix when setting DataFrame …
wesm authored
744 - Add convenience `set_index` function for creating a DataFrame index from
745 its existing columns
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
746
e3eac67 @wesm ENH: refactored join_managers into a tidy class and sped up joining i…
wesm authored
747 **Improvements to existing features**
748
988e2a5 @wesm DOC: release note
wesm authored
749 - Major performance improvements in file parsing functions `read_csv` and
750 `read_table`
4d60df8 @wesm ENH: speed up DataFrame constructor with nested dict, GH #212
wesm authored
751 - Added Cython function for converting tuples to ndarray very fast. Speeds up
752 many MultiIndex-related operations
5ca6ff5 @wesm ENH: add explicit duplicate check when creating an index in parsing f…
wesm authored
753 - File parsing functions like `read_csv` and `read_table` will explicitly
754 check if a parsed index has duplicates and raise a more helpful exception
755 rather than deferring the check until later
e3eac67 @wesm ENH: refactored join_managers into a tidy class and sped up joining i…
wesm authored
756 - Refactored merging / joining code into a tidy class and disabled unnecessary
757 computations in the float/object case, thus getting about 10% better
7f3e3b4 @wesm DOC: release notes
wesm authored
758 performance (GH #211)
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
759 - Improved speed of `DataFrame.xs` on mixed-type DataFrame objects by about
7f3e3b4 @wesm DOC: release notes
wesm authored
760 5x, regression from 0.3.0 (GH #215)
ba35f62 @wesm RLS: release notes
wesm authored
761 - With new `DataFrame.align` method, speeding up binary operations between
762 differently-indexed DataFrame objects by 10-25%.
7f3e3b4 @wesm DOC: release notes
wesm authored
763 - Significantly sped up conversion of nested dict into DataFrame (GH #212)
0113ed4 @wesm BUG: test failure in groupby transform
wesm authored
764 - Can pass hierarchical index level name to `groupby` instead of the level
765 number if desired (GH #223)
7f3e3b4 @wesm DOC: release notes
wesm authored
766 - Add support for different delimiters in `DataFrame.to_csv` (PR #244)
f785ccb @wesm DOC: release notes
wesm authored
767 - Add more helpful error message when importing pandas post-installation from
768 the source directory (GH #250)
196acb8 @wesm DOC: update docs about file parsing functions
wesm authored
769 - Significantly speed up DataFrame `__repr__` and `count` on large mixed-type
770 DataFrame objects
de98e24 @wesm ENH: specify dependency list for tseries Cython module, GH #271
wesm authored
771 - Better handling of pyx file dependencies in Cython module build (GH #271)
9472428 @wesm ENH: handle zip file. pass test suite
wesm authored
772
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
773 **Bug fixes**
774
f789bb7 @wesm BUG: passing list of tuples to Series constructor failed, GH #270
wesm authored
775 - `read_csv` / `read_table` fixes
776 - Be less aggressive about converting float->int in cases of floating point
777 representations of integers like 1.0, 2.0, etc.
778 - "True"/"False" will not get correctly converted to boolean
779 - Index name attribute will get set when specifying an index column
780 - Passing column names should force `header=None` (GH #257)
781 - Don't modify passed column names when `index_col` is not
782 None (GH #258)
783 - Can sniff CSV separator in zip file (since seek is not supported, was
784 failing before)
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
785 - Worked around matplotlib "bug" in which series[:, np.newaxis] fails. Should
786 be reported upstream to matplotlib (GH #224)
7838309 @wesm BUG: iteritems and _series not assigning Series.name
wesm authored
787 - DataFrame.iteritems was not returning Series with the name attribute
788 set. Also neither was DataFrame._series
a84afb9 @wesm BUG: store Index and Series names in HDFStore
wesm authored
789 - Can store datetime.date objects in HDFStore (GH #231)
790 - Index and Series names are now stored in HDFStore
7f3e3b4 @wesm DOC: release notes
wesm authored
791 - Fixed problem in which data would get upcasted to object dtype in
792 GroupBy.apply operations (GH #237)
793 - Fixed outer join bug with empty DataFrame (GH #238)
cc2241d @wesm BUG: can create empty Panel, address GH #239
wesm authored
794 - Can create empty Panel (GH #239)
7f3e3b4 @wesm DOC: release notes
wesm authored
795 - Fix join on single key when passing list with 1 entry (GH #246)
796 - Don't raise Exception on plotting DataFrame with an all-NA column (GH #251,
797 PR #254)
798 - Bug min/max errors when called on integer DataFrames (PR #241)
799 - `DataFrame.iteritems` and `DataFrame._series` not assigning name attribute
579956a @wesm BUG: Panel.__repr__ works with len-0 major/minor axes
wesm authored
800 - Panel.__repr__ raised exception on length-0 major/minor axes
7f3e3b4 @wesm DOC: release notes
wesm authored
801 - `DataFrame.join` on key with empty DataFrame produced incorrect columns
24ed9ed @wesm BUG: implement MultiIndex.diff, add & and | for intersection/union, G…
wesm authored
802 - Implemented `MultiIndex.diff` (GH #260)
9ddfc57 @wesm BUG: Int64Index.take and MultiIndex.take don't lost names, GH #262
wesm authored
803 - `Int64Index.take` and `MultiIndex.take` lost name field, fix downstream
804 issue GH #262
f789bb7 @wesm BUG: passing list of tuples to Series constructor failed, GH #270
wesm authored
805 - Can pass list of tuples to `Series` (GH #270)
f838ff9 @wesm BUG: can pass level name to DataFrame.stack
wesm authored
806 - Can pass level name to `DataFrame.stack`
394bb0d @wesm ENH: add Panel.take, implement set ops between MultiIndex and Index. …
wesm authored
807 - Support set operations between MultiIndex and Index
3b920ae @wesm BUG: corner cases in MultiIndex set operations
wesm authored
808 - Fix many corner cases in MultiIndex set operations
837b7dc @wesm ENH: DataFrame.set_index function, and bugfix when setting DataFrame …
wesm authored
809 - 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
810 indexed the same
e4b66db @wesm BUG: more proper handling of no rows / no columns in DataFrame.apply
wesm authored
811 - Fix corner case bugs in DataFrame.apply
837b7dc @wesm ENH: DataFrame.set_index function, and bugfix when setting DataFrame …
wesm authored
812 - Setting DataFrame index did not cause Series cache to get cleared
0fa4f1e @wesm ENH: -> int64 everywhere
wesm authored
813 - Various int32 -> int64 platform-specific issues
bb52401 @wesm TST: fix test case broken by last change
wesm authored
814 - Don't be too aggressive converting to integer when parsing file with
815 MultiIndex (GH #285)
c7e3cdb @wesm BLD: docstring fixes to suppress 2to3 warnings
wesm authored
816 - Fix bug when slicing Series with negative indices before beginning
7f3e3b4 @wesm DOC: release notes
wesm authored
817
818 Thanks
819 ------
820
821 - Thomas Kluyver
822 - Daniel Fortunov
823 - Aman Thakral
824 - Luca Beltrame
8ec1c97 @wesm DOC: more miscellaneous docs about new 0.5 features
wesm authored
825 - Wouter Overmeire
0cc5616 @wesm ENH: parser API changes, added parse_dates options, address GH #225, …
wesm authored
826
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
827 pandas 0.4.3
828 ============
829
7f3e3b4 @wesm DOC: release notes
wesm authored
830 Release notes
831 -------------
832
d5cb5ee @wesm RLS: update release notes
wesm authored
833 **Release date:** 10/9/2011
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
834
9565fc7 @wesm ENH: SparseSeries binary op speed enhancement in the block case, addr…
wesm authored
835 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
836 and enhanced features. Also, pandas can now be installed and used on Python 3
837 (thanks Thomas Kluyver!).
9565fc7 @wesm ENH: SparseSeries binary op speed enhancement in the block case, addr…
wesm authored
838
7597471 @wesm ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
839 **New features / modules**
840
9565fc7 @wesm ENH: SparseSeries binary op speed enhancement in the block case, addr…
wesm authored
841 - Python 3 support using 2to3 (PR #200, Thomas Kluyver)
0d763a7 @wesm TST: skip test on sparse. release notes
wesm authored
842 - Add `name` attribute to `Series` and added relevant logic and tests. Name
843 now prints as part of `Series.__repr__`
7597471 @wesm ENH: droplevel name/names fix, pivot correctly sets names now (nice)
wesm authored
844 - Add `name` attribute to standard Index so that stacking / unstacking does
845 not discard names and so that indexed DataFrame objects can be reliably
846 round-tripped to flat files, pickle, HDF5, etc.
87a3370 @wesm RLS: update release notes
wesm authored
847 - 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
848
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
849 **Improvements to existing features**
850
851 - Skip xlrd-related unit tests if not installed
914b5c3 @wesm RLS: update release notes
wesm authored
852 - `Index.append` and `MultiIndex.append` can accept a list of Index objects to
853 concatenate together
9565fc7 @wesm ENH: SparseSeries binary op speed enhancement in the block case, addr…
wesm authored
854 - Altered binary operations on differently-indexed SparseSeries objects to use
47ddcfc @wesm RLS: update release notes
wesm authored
855 the integer-based (dense) alignment logic which is faster with a larger
856 number of blocks (GH #205)
0d763a7 @wesm TST: skip test on sparse. release notes
wesm authored
857 - Refactored `Series.__repr__` to be a bit more clean and consistent
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
858
cbca296 @wesm ENH: print 25%-75% quartiles instead of 10%-90% deciles in describe. …
wesm authored
859 **API Changes**
860
861 - `Series.describe` and `DataFrame.describe` now bring the 25% and 75%
862 quartiles instead of the 10% and 90% deciles. The other outputs have not
863 changed
864 - `Series.toString` will print deprecation warning, has been de-camelCased to
865 `to_string`
866
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
867 **Bug fixes**
868
869 - Fix broken interaction between `Index` and `Int64Index` when calling
870 intersection. Implement `Int64Index.intersection`
871 - `MultiIndex.sortlevel` discarded the level names (GH #202)
914b5c3 @wesm RLS: update release notes
wesm authored
872 - 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
873 `MultiIndex` objects (GH #201)
be4ab5c @wesm BUG: raise more helpful exception when trying to write empty object t…
wesm authored
874 - Fix regression from 0.4.1, `isnull` and `notnull` ceased to work on other
875 kinds of Python scalar objects like `datetime.datetime`
876 - Raise more helpful exception when attempting to write empty DataFrame or
ff99fdc @wesm ENH: beginning name integration in Index, Series
wesm authored
877 LongPanel to `HDFStore` (GH #204)
cbf7616 @wesm RLS: update release notes
wesm authored
878 - Use stdlib csv module to properly escape strings with commas in
879 `DataFrame.to_csv` (PR #206, Thomas Kluyver)
47ddcfc @wesm RLS: update release notes
wesm authored
880 - Fix Python ndarray access in Cython code for sparse blocked index integrity
881 check
87a3370 @wesm RLS: update release notes
wesm authored
882 - Fix bug writing Series to CSV in Python 3 (PR #209)
1271507 @wesm RLS: release notes
wesm authored
883 - Miscellaneous Python 3 bugfixes
cbf7616 @wesm RLS: update release notes
wesm authored
884
885 Thanks
886 ------
887
888 - Thomas Kluyver
889 - rsamson
cd54aa9 @wesm BUG: MultiIndex.sortlevel did not preserve names GH #202
wesm authored
890
05441c5 @wesm ENH: playing around with the AST. not sure about using magic
wesm authored
891 pandas 0.4.2
892 ============
893
7f3e3b4 @wesm DOC: release notes
wesm authored
894 Release notes
895 -------------
896
35c6b68 @wesm RLS: Version 0.4.2
wesm authored
897 **Release date:** 10/3/2011
05441c5 @wesm ENH: playing around with the AST. not sure about using magic
wesm authored
898
1c3b53c @wesm BUG: fixed incorrect check for integer dtype on 32-bit platforms
wesm authored
899 This is a performance optimization release with several bug fixes. The new
900 Int64Index and new merging / joining Cython code and related Python
901 infrastructure are the main new additions
d585ce5 @wesm RLS: update release notes
wesm authored
902
903 **New features / modules**
904
a9971e3 @wesm TST: test coverage for take functions and added out keyword to take_1d
wesm authored
905 - Added fast `Int64Index` type with specialized join, union,
906 intersection. Will result in significant performance enhancements for
907 int64-based time series (e.g. using NumPy's datetime64 one day) and also
908 faster operations on DataFrame objects storing record array-like data.
d585ce5 @wesm RLS: update release notes
wesm authored
909 - Refactored `Index` classes to have a `join` method and associated data
910 alignment routines throughout the codebase to be able to leverage optimized
911 joining / merging routines.
702a4d6 @wesm TST: finish up pandas.core test coverage, test Series.align
wesm authored
912 - Added `Series.align` method for aligning two series with choice of join
913 method
d585ce5 @wesm RLS: update release notes
wesm authored
914 - Wrote faster Cython data alignment / merging routines resulting in
915 substantial speed increases
916 - Added `is_monotonic` property to `Index` classes with associated Cython
917 code to evaluate the monotonicity of the `Index` values
f1fee8f @wesm ENH: add get_level_values method and tests, address GH #188
wesm authored
918 - Add method `get_level_values` to `MultiIndex`
492a7ff @wesm TST: test DataFrame.take for mixed-dtype
wesm authored
919 - Implemented shallow copy of `BlockManager` object in `DataFrame` internals
d585ce5 @wesm RLS: update release notes
wesm authored
920
921 **Improvements to existing features**
922
923 - Improved performance of `isnull` and `notnull`, a regression from v0.3.0
924 (GH #187)
925 - Wrote templating / code generation script to auto-generate Cython code for
926 various functions which need to be available for the 4 major data types
927 used in pandas (float64, bool, object, int64)
928 - Refactored code related to `DataFrame.join` so that intermediate aligned
929 copies of the data in each `DataFrame` argument do not need to be
930 created. Substantial performance increases result (GH #176)
931 - Substantially improved performance of generic `Index.intersection` and
932 `Index.union`
f1fee8f @wesm ENH: add get_level_values method and tests, address GH #188
wesm authored
933 - Improved performance of `DateRange.union` with overlapping ranges and
934 non-cacheable offsets (like Minute). Implemented analogous fast
935 `DateRange.intersection` for overlapping ranges.
d585ce5 @wesm RLS: update release notes
wesm authored
936 - Implemented `BlockManager.take` resulting in significantly faster `take`
937 performance on mixed-type `DataFrame` objects (GH #104)
938 - Improved performance of `Series.sort_index`
aaea503 @wesm BUG: implement remaining as_index=False handling in DataFrameGroupBy.…
wesm authored
939 - Significant groupby performance enhancement: removed unnecessary integrity
940 checks in DataFrame internals that were slowing down slicing operations to
941 retrieve groups
942 - Added informative Exception when passing dict to DataFrame groupby
943 aggregation with axis != 0
d585ce5 @wesm RLS: update release notes
wesm authored
944
a9971e3 @wesm TST: test coverage for take functions and added out keyword to take_1d
wesm authored
945 **API Changes**
946
947 None
948
d585ce5 @wesm RLS: update release notes
wesm authored
949 **Bug fixes**
950
951 - Fixed minor unhandled exception in Cython code implementing fast groupby
952 aggregation operations
953 - Fixed bug in unstacking code manifesting with more than 3 hierarchical
954 levels
955 - Throw exception when step specified in label-based slice (GH #185)
aaea503 @wesm BUG: implement remaining as_index=False handling in DataFrameGroupBy.…
wesm authored
956 - Fix isnull to correctly work with np.float32. Fix upstream bug described in
957 GH #182
191200f @wesm ENH: fast DateRange.intersection in some cases and sped up DateRange.…
wesm authored
958 - Finish implementation of as_index=False in groupby for DataFrame
959 aggregation (GH #181)
35c6b68 @wesm RLS: Version 0.4.2
wesm authored
960 - Raise SkipTest for pre-epoch HDFStore failure. Real fix will be sorted out
961 via datetime64 dtype
d585ce5 @wesm RLS: update release notes
wesm authored
962
f1fee8f @wesm ENH: add get_level_values method and tests, address GH #188
wesm authored
963 Thanks
964 ------
965
966 - Uri Laserson
967 - Scott Sinclair
968
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
969 pandas 0.4.1
970 ============
971
7f3e3b4 @wesm DOC: release notes
wesm authored
972 Release notes
973 -------------
974
64bbc72 @wesm DOC: update release notes
wesm authored
975 **Release date:** 9/25/2011
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
976
0af7cfa @wesm ENH: speed up assert_almost_equal
wesm authored
977 This is primarily a bug fix release but includes some new features and
10fa2b5 @wesm DOC: update release notes
wesm authored
978 improvements
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
979
dca3c5c @wesm ENH: get_dtype_counts publicized and added dtypes property
wesm authored
980 **New features / modules**
981
982 - Added new `DataFrame` methods `get_dtype_counts` and property `dtypes`
6c8dac2 @wesm DOC: update release notes to match GH milestone
wesm authored
983 - Setting of values using ``.ix`` indexing attribute in mixed-type DataFrame
984 objects has been implemented (fixes GH #135)
985 - `read_csv` can read multiple columns into a `MultiIndex`. DataFrame's
986 `to_csv` method will properly write out a `MultiIndex` which can be read
10fa2b5 @wesm DOC: update release notes
wesm authored
987 back (PR #151, thanks to Skipper Seabold)
d2484b9 @wesm ENH: sped up inner/outer_join_indexer cython functions
wesm authored
988 - Wrote fast time series merging / joining methods in Cython. Will be
989 integrated later into DataFrame.join and related functions
10fa2b5 @wesm DOC: update release notes
wesm authored
990 - Added `ignore_index` option to `DataFrame.append` for combining unindexed
991 records stored in a DataFrame
992
993 **Improvements to existing features**
994
995 - Some speed enhancements with internal Index type-checking function
996 - `DataFrame.rename` has a new `copy` parameter which can rename a DataFrame
997 in place
998 - Enable unstacking by level name (PR #142)
999 - Enable sortlevel to work by level name (PR #141)
1000 - `read_csv` can automatically "sniff" other kinds of delimiters using
1001 `csv.Sniffer` (PR #146)
cfde7cd @wesm ENH: tinkering with other join impl
wesm authored
1002 - Improved speed of unit test suite by about 40%
7fc8194 @wesm BUG: do not allow appending with different item order
wesm authored
1003 - Exception will not be raised calling `HDFStore.remove` on non-existent node
1004 with where clause
6fa7df2 @wesm ENH: better JR join function
wesm authored
1005 - Optimized `_ensure_index` function resulting in performance savings in
1006 type-checking Index objects
dca3c5c @wesm ENH: get_dtype_counts publicized and added dtypes property
wesm authored
1007
a9971e3 @wesm TST: test coverage for take functions and added out keyword to take_1d
wesm authored
1008 **API Changes**
1009
1010 None
1011
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
1012 **Bug fixes**
1013
86b4ea6 @wesm BUG: handling of Series input to DataFrame constructor
wesm authored
1014 - Fixed DataFrame constructor bug causing downstream problems (e.g. .copy()
1015 failing) when passing a Series as the values along with a column name and
1016 index
9ae251b @wesm DOC: update release notes
wesm authored
1017 - Fixed single-key groupby on DataFrame with as_index=False (GH #160)
6c8dac2 @wesm DOC: update release notes to match GH milestone
wesm authored
1018 - `Series.shift` was failing on integer Series (GH #154)
1019 - `unstack` methods were producing incorrect output in the case of duplicate
1020 hierarchical labels. An exception will now be raised (GH #147)
10fa2b5 @wesm DOC: update release notes
wesm authored
1021 - Calling `count` with level argument caused reduceat failure or segfault in
1022 earlier NumPy (GH #169)
1023 - Fixed `DataFrame.corrwith` to automatically exclude non-numeric data (GH
1024 #144)
1025 - Unicode handling bug fixes in `DataFrame.to_string` (GH #138)
1026 - Excluding OLS degenerate unit test case that was causing platform specific
1027 failure (GH #149)
1028 - 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
1029 - Calling `copy` on `DateRange` did not copy over attributes to the new object
1030 (GH #168)
0493cc5 @wesm ENH: add join panel function for testing and later integration
wesm authored
1031 - Fix bug in `HDFStore` in which Panel data could be appended to a Table with
1032 different item order, thus resulting in an incorrect result read back
10fa2b5 @wesm DOC: update release notes
wesm authored
1033
1034 Thanks
1035 ------
1036 - Yaroslav Halchenko
1037 - Jeff Reback
1038 - Skipper Seabold
1039 - Dan Lovell
1040 - Nick Pentreath
1ba5625 @wesm ENH: added ignore_index option to DataFrame.append, and speed optimiz…
wesm authored
1041
500c76b @wesm ENH: use Series name in GroupBy for result index, GH #363
wesm authored
1042 pandas 0.4.0
1043 ============
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1044
1045 Release notes
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
1046 -------------
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1047
42b0b01 @wesm DOC: doc warning fixes
wesm authored
1048 **Release date:** 9/12/2011
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1049
1050 **New features / modules**
1051
a12d898 @wesm DOC: release notes reformat
wesm authored
1052 - `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
1053 versions of `Series`, `DataFrame`, and `Panel`. For low-density data, this
40b7278 @wesm DOC: release notes
wesm authored
1054 will result in significant performance boosts, and smaller memory
1055 footprint. Added `to_sparse` methods to `Series`, `DataFrame`, and
16d71f8 @wesm REF: renamed WidePanel -> Panel. legacy pickle support remains and a …
wesm authored
1056 `Panel`. See online documentation for more on these
a12d898 @wesm DOC: release notes reformat
wesm authored
1057 - Fancy indexing operator on Series / DataFrame, e.g. via .ix operator. Both
40b7278 @wesm DOC: release notes
wesm authored
1058 getting and setting of values is supported; however, setting values will only
1059 currently work on homogeneously-typed DataFrame objects. Things like:
1060
1061 * series.ix[[d1, d2, d3]]
1062 * frame.ix[5:10, ['C', 'B', 'A']], frame.ix[5:10, 'A':'C']
1063 * frame.ix[date1:date2]
1064
a12d898 @wesm DOC: release notes reformat
wesm authored
1065 - Significantly enhanced `groupby` functionality
40b7278 @wesm DOC: release notes
wesm authored
1066
1067 * Can groupby multiple keys, e.g. df.groupby(['key1', 'key2']). Iteration with
1068 multiple groupings products a flattened tuple
1069 * "Nuisance" columns (non-aggregatable) will automatically be excluded from
1070 DataFrame aggregation operations
1071 * Added automatic "dispatching to Series / DataFrame methods to more easily
1072 invoke methods on groups. e.g. s.groupby(crit).std() will work even though
1073 `std` is not implemented on the `GroupBy` class
1074
cdbe7a7 @wesm TST: test coverage
wesm authored
1075 - Hierarchical / multi-level indexing
1076
1077 * New the `MultiIndex` class. Integrated `MultiIndex` into `Series` and
1078 `DataFrame` fancy indexing, slicing, __getitem__ and __setitem,
1079 reindexing, etc. Added `level` keyword argument to `groupby` to enable
1080 grouping by a level of a `MultiIndex`
1081
1082 - New data reshaping functions: `stack` and `unstack` on DataFrame and Series
1083
1084 * Integrate with MultiIndex to enable sophisticated reshaping of data
1085
a12d898 @wesm DOC: release notes reformat
wesm authored
1086 - `Index` objects (labels for axes) are now capable of holding tuples
1087 - `Series.describe`, `DataFrame.describe`: produces an R-like table of summary
40b7278 @wesm DOC: release notes
wesm authored
1088 statistics about each data column
a12d898 @wesm DOC: release notes reformat
wesm authored
1089 - `DataFrame.quantile`, `Series.quantile` for computing sample quantiles of data
40b7278 @wesm DOC: release notes
wesm authored
1090 across requested axis
a12d898 @wesm DOC: release notes reformat
wesm authored
1091 - Added general `DataFrame.dropna` method to replace `dropIncompleteRows` and
40b7278 @wesm DOC: release notes
wesm authored
1092 `dropEmptyRows`, deprecated those.
a12d898 @wesm DOC: release notes reformat
wesm authored
1093 - `Series` arithmetic methods with optional fill_value for missing data,
40b7278 @wesm DOC: release notes
wesm authored
1094 e.g. a.add(b, fill_value=0). If a location is missing for both it will still
1095 be missing in the result though.
a12d898 @wesm DOC: release notes reformat
wesm authored
1096 - fill_value option has been added to `DataFrame`.{add, mul, sub, div} methods
40b7278 @wesm DOC: release notes
wesm authored
1097 similar to `Series`
a12d898 @wesm DOC: release notes reformat
wesm authored
1098 - Boolean indexing with `DataFrame` objects: data[data > 0.1] = 0.1 or
40b7278 @wesm DOC: release notes
wesm authored
1099 data[data> other] = 1.
a12d898 @wesm DOC: release notes reformat
wesm authored
1100 - `pytz` / tzinfo support in `DateRange`
40b7278 @wesm DOC: release notes
wesm authored
1101
1102 * `tz_localize`, `tz_normalize`, and `tz_validate` methods added
1103
a12d898 @wesm DOC: release notes reformat
wesm authored
1104 - Added `ExcelFile` class to `pandas.io.parsers` for parsing multiple sheets out
40b7278 @wesm DOC: release notes
wesm authored
1105 of a single Excel 2003 document
a12d898 @wesm DOC: release notes reformat
wesm authored
1106 - `GroupBy` aggregations can now optionally *broadcast*, e.g. produce an object
40b7278 @wesm DOC: release notes
wesm authored
1107 of the same size with the aggregated value propagated
a12d898 @wesm DOC: release notes reformat
wesm authored
1108 - Added `select` function in all data structures: reindex axis based on
40b7278 @wesm DOC: release notes
wesm authored
1109 arbitrary criterion (function returning boolean value),
1110 e.g. frame.select(lambda x: 'foo' in x, axis=1)
a12d898 @wesm DOC: release notes reformat
wesm authored
1111 - `DataFrame.consolidate` method, API function relating to redesigned internals
1112 - `DataFrame.insert` method for inserting column at a specified location rather
40b7278 @wesm DOC: release notes
wesm authored
1113 than the default __setitem__ behavior (which puts it at the end)
a12d898 @wesm DOC: release notes reformat
wesm authored
1114 - `HDFStore` class in `pandas.io.pytables` has been largely rewritten using
40b7278 @wesm DOC: release notes
wesm authored
1115 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
1116 and `Series` data and can store `Panel` objects. It also has the option to
1117 query `DataFrame` and `Panel` data. Loading data from legacy `HDFStore`
40b7278 @wesm DOC: release notes
wesm authored
1118 files is supported explicitly in the code
a12d898 @wesm DOC: release notes reformat
wesm authored
1119 - Added `set_printoptions` method to modify appearance of DataFrame tabular
40b7278 @wesm DOC: release notes
wesm authored
1120 output
a12d898 @wesm DOC: release notes reformat
wesm authored
1121 - `rolling_quantile` functions; a moving version of `Series.quantile` /
40b7278 @wesm DOC: release notes
wesm authored
1122 `DataFrame.quantile`
a12d898 @wesm DOC: release notes reformat
wesm authored
1123 - Generic `rolling_apply` moving window function
1124 - New `drop` method added to `Series`, `DataFrame`, etc. which can drop a set of
40b7278 @wesm DOC: release notes
wesm authored
1125 labels from an axis, producing a new object
a12d898 @wesm DOC: release notes reformat
wesm authored
1126 - `reindex` methods now sport a `copy` option so that data is not forced to be
40b7278 @wesm DOC: release notes
wesm authored
1127 copied then the resulting object is indexed the same
16d71f8 @wesm REF: renamed WidePanel -> Panel. legacy pickle support remains and a …
wesm authored
1128 - Added `sort_index` methods to Series and Panel. Renamed `DataFrame.sort`
40b7278 @wesm DOC: release notes
wesm authored
1129 to `sort_index`. Leaving `DataFrame.sort` for now.
0b6f950 @wesm DOC: docs about skipna
wesm authored
1130 - Added ``skipna`` option to statistical instance methods on all the data
1131 structures
1f11fe2 @wesm DOC: sparse docs. getting closer to release
wesm authored
1132 - `pandas.io.data` module providing a consistent interface for reading time
1133 series data from several different sources
0b6f950 @wesm DOC: docs about skipna
wesm authored
1134
ed594bd @wesm boolean indexing work, needs to be part of larger refactor
wesm authored
1135 **Improvements to existing features**
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1136
b41cc44 @wesm DOC: release notes reformat
wesm authored
1137 * The 2-dimensional `DataFrame` and `DataMatrix` classes have been extensively
1138 redesigned internally into a single class `DataFrame`, preserving where
1139 possible their optimal performance characteristics. This should reduce
1140 confusion from users about which class to use.
1141
88ad4c0 @wesm DOC: release notes, setup.py updating
wesm authored
1142 * Note that under the hood there is a new essentially "lazy evaluation"
b41cc44 @wesm DOC: release notes reformat
wesm authored
1143 scheme within respect to adding columns to DataFrame. During some
1144 operations, like-typed blocks will be "consolidated" but not before.
1145
1146 * `DataFrame` accessing columns repeatedly is now significantly faster than
1147 `DataMatrix` used to be in 0.3.0 due to an internal Series caching mechanism
1148 (which are all views on the underlying data)
1149 * Column ordering for mixed type data is now completely consistent in
1150 `DataFrame`. In prior releases, there was inconsistent column ordering in
1151 `DataMatrix`
1152 * Improved console / string formatting of DataMatrix with negative numbers
1153 * Improved tabular data parsing functions, `read_table` and `read_csv`:
1154
1155 * Added `skiprows` and `na_values` arguments to `pandas.io.parsers` functions
1156 for more flexible IO
1157 * `parseCSV` / `read_csv` functions and others in `pandas.io.parsers` now can
1158 take a list of custom NA values, and also a list of rows to skip
1159
1160 * Can slice `DataFrame` and get a view of the data (when homogeneously typed),
1161 e.g. frame.xs(idx, copy=False) or frame.ix[idx]
1162 * Many speed optimizations throughout `Series` and `DataFrame`
1163 * Eager evaluation of groups when calling ``groupby`` functions, so if there is
1164 an exception with the grouping function it will raised immediately versus
1165 sometime later on when the groups are needed
1166 * `datetools.WeekOfMonth` offset can be parameterized with `n` different than 1
1167 or -1.
1168 * Statistical methods on DataFrame like `mean`, `std`, `var`, `skew` will now
1169 ignore non-numerical data. Before a not very useful error message was
1170 generated. A flag `numeric_only` has been added to `DataFrame.sum` and
1171 `DataFrame.count` to enable this behavior in those methods if so desired
1172 (disabled by default)
1173 * `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
1174 `DataFrame` with hierarchical columns
b41cc44 @wesm DOC: release notes reformat
wesm authored
1175 * `DataFrame` constructor can accept structured / record arrays
16d71f8 @wesm REF: renamed WidePanel -> Panel. legacy pickle support remains and a …
wesm authored
1176 * `Panel` constructor can accept a dict of DataFrame-like objects. Do not
b41cc44 @wesm DOC: release notes reformat
wesm authored
1177 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
1178
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1179 **API Changes**
1180
b41cc44 @wesm DOC: release notes reformat
wesm authored
1181 * The `DataMatrix` variable now refers to `DataFrame`, will be removed within
1182 two releases
16d71f8 @wesm REF: renamed WidePanel -> Panel. legacy pickle support remains and a …
wesm authored
1183 * `WidePanel` is now known as `Panel`. The `WidePanel` variable in the pandas
1184 namespace now refers to the renamed `Panel` class
1185 * `LongPanel` and `Panel` / `WidePanel` now no longer have a common
1186 subclass. `LongPanel` is now a subclass of `DataFrame` having a number of
1187 additional methods and a hierarchical index instead of the old
1188 `LongPanelIndex` object, which has been removed. Legacy `LongPanel` pickles
1189 may not load properly
b41cc44 @wesm DOC: release notes reformat
wesm authored
1190 * Cython is now required to build `pandas` from a development branch. This was
1191 done to avoid continuing to check in cythonized C files into source
1192 control. Builds from released source distributions will not require Cython
1193 * Cython code has been moved up to a top level `pandas/src` directory. Cython
1194 extension modules have been renamed and promoted from the `lib` subpackage to
1195 the top level, i.e.
1196
1197 * `pandas.lib.tseries` -> `pandas._tseries`
1198 * `pandas.lib.sparse` -> `pandas._sparse`
1199
1200 * `DataFrame` pickling format has changed. Backwards compatibility for legacy
1201 pickles is provided, but it's recommended to consider PyTables-based
1202 `HDFStore` for storing data with a longer expected shelf life
1203 * A `copy` argument has been added to the `DataFrame` constructor to avoid
1204 unnecessary copying of data. Data is no longer copied by default when passed
1205 into the constructor
1206 * Handling of boolean dtype in `DataFrame` has been improved to support storage
1207 of boolean data with NA / NaN values. Before it was being converted to float64
1208 so this should not (in theory) cause API breakage
1209 * To optimize performance, Index objects now only check that their labels are
1210 unique when uniqueness matters (i.e. when someone goes to perform a
1211 lookup). This is a potentially dangerous tradeoff, but will lead to much
1212 better performance in many places (like groupby).
1213 * Boolean indexing using Series must now have the same indices (labels)
1214 * Backwards compatibility support for begin/end/nPeriods keyword arguments in
1215 DateRange class has been removed
1216 * More intuitive / shorter filling aliases `ffill` (for `pad`) and `bfill` (for
1217 `backfill`) have been added to the functions that use them: `reindex`,
1218 `asfreq`, `fillna`.
1219 * `pandas.core.mixins` code moved to `pandas.core.generic`
1220 * `buffer` keyword arguments (e.g. `DataFrame.toString`) renamed to `buf` to
1221 avoid using Python built-in name
1222 * `DataFrame.rows()` removed (use `DataFrame.index`)
1223 * Added deprecation warning to `DataFrame.cols()`, to be removed in next release
1224 * `DataFrame` deprecations and de-camelCasing: `merge`, `asMatrix`,
1225 `toDataMatrix`, `_firstTimeWithValue`, `_lastTimeWithValue`, `toRecords`,
1226 `fromRecords`, `tgroupby`, `toString`
1227 * `pandas.io.parsers` method deprecations
1228
1229 * `parseCSV` is now `read_csv` and keyword arguments have been de-camelCased
1230 * `parseText` is now `read_table`
1231 * `parseExcel` is replaced by the `ExcelFile` class and its `parse` method
1232
1233 * `fillMethod` arguments (deprecated in prior release) removed, should be
1234 replaced with `method`
16d71f8 @wesm REF: renamed WidePanel -> Panel. legacy pickle support remains and a …
wesm authored
1235 * `Series.fill`, `DataFrame.fill`, and `Panel.fill` removed, use `fillna`
b41cc44 @wesm DOC: release notes reformat
wesm authored
1236 instead
1237 * `groupby` functions now exclude NA / NaN values from the list of groups. This
1238 matches R behavior with NAs in factors e.g. with the `tapply` function
1239 * Removed `parseText`, `parseCSV` and `parseExcel` from pandas namespace
1240 * `Series.combineFunc` renamed to `Series.combine` and made a bit more general
1241 with a `fill_value` keyword argument defaulting to NaN
1242 * Removed `pandas.core.pytools` module. Code has been moved to
1243 `pandas.core.common`
1244 * 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
1245 * Panel/LongPanel `dims` attribute renamed to `shape` to be more conformant
b41cc44 @wesm DOC: release notes reformat
wesm authored
1246 * Slicing a `Series` returns a view now
1247 * More Series deprecations / renaming: `toCSV` to `to_csv`, `asOf` to `asof`,
1248 `merge` to `map`, `applymap` to `apply`, `toDict` to `to_dict`,
1249 `combineFirst` to `combine_first`. Will print `FutureWarning`.
f970dff @wesm DOC: release notes. and rewrote _make_long_index
wesm authored
1250 * `DataFrame.to_csv` does not write an "index" column label by default
1251 anymore since the output file can be read back without it. However, there
1252 is a new ``index_label`` argument. So you can do ``index_label='index'`` to
1253 emulate the old behavior
c4ccfdb @wesm DOC: time series docs, timeRule->time_rule renaming
wesm authored
1254 * `datetools.Week` argument renamed from `dayOfWeek` to `weekday`
5cb7bca @wesm DOC: more time series docs and release notes
wesm authored
1255 * `timeRule` argument in `shift` has been deprecated in favor of using the
1256 `offset` argument for everything. So you can still pass a time rule string
1257 to `offset`
e3df4e2 @adamklein DOC: added info on encoding parameter for csv i/o
adamklein authored
1258 * Added optional `encoding` argument to `read_csv`, `read_table`, `to_csv`,
1259 `from_csv` to handle unicode in python 2.x
b808ce2 @wesm DateRange unit test coverage, tz_validate impl
wesm authored
1260
2dc78dc @wesm moving around unit tests, working on fancy get/setitem for objects. f…
wesm authored
1261 **Bug fixes**
1262
b41cc44 @wesm DOC: release notes reformat
wesm authored
1263 * Column ordering in `pandas.io.parsers.parseCSV` will match CSV in the presence
1264 of mixed-type data
1265 * Fixed handling of Excel 2003 dates in `pandas.io.parsers`
1266 * `DateRange` caching was happening with high resolution `DateOffset` objects,
1267 e.g. `DateOffset(seconds=1)`. This has been fixed
1268 * Fixed __truediv__ issue in `DataFrame`
1269 * Fixed `DataFrame.toCSV` bug preventing IO round trips in some cases
1270 * Fixed bug in `Series.plot` causing matplotlib to barf in exceptional cases
1271 * Disabled `Index` objects from being hashable, like ndarrays
1272 * Added `__ne__` implementation to `Index` so that operations like ts[ts != idx]
1273 will work
1274 * Added `__ne__` implementation to `DataFrame`
1275 * Bug / unintuitive result when calling `fillna` on unordered labels
1276 * Bug calling `sum` on boolean DataFrame
1277 * Bug fix when creating a DataFrame from a dict with scalar values
1278 * Series.{sum, mean, std, ...} now return NA/NaN when the whole Series is NA
1279 * NumPy 1.4 through 1.6 compatibility fixes
1280 * Fixed bug in bias correction in `rolling_cov`, was affecting `rolling_corr`
1281 too
174422e @wesm DOC: stats docs
wesm authored
1282 * R-square value was incorrect in the presence of fixed and time effects in
1283 the `PanelOLS` classes
42b0b01 @wesm DOC: doc warning fixes
wesm authored
1284 * `HDFStore` can handle duplicates in table format, will take
40b7278 @wesm DOC: release notes
wesm authored
1285
3213b0f @wesm read_csv and read_table renamings in parsers.py. updated release notes
wesm authored
1286 Thanks
1287 ------
40b7278 @wesm DOC: release notes
wesm authored
1288 - Joon Ro
1289 - Michael Pennington
1290 - Chris Uga
1291 - Chris Withers
1292 - Jeff Reback
1293 - Ted Square
1294 - Craig Austin
1295 - William Ferreira
1296 - Daniel Fortunov
1297 - Tony Roberts
1298 - Martin Felder
1299 - John Marino
1300 - Tim McNamara
1301 - Justin Berka
1302 - Dieter Vandenbussche
1f11fe2 @wesm DOC: sparse docs. getting closer to release
wesm authored
1303 - Shane Conway
1304 - Skipper Seabold
1305 - Chris Jordan-Squire
0f67e88 @wesm hasty in removing matrix.py, need for legacy pickles
wesm authored
1306
7f3e3b4 @wesm DOC: release notes
wesm authored
1307 pandas 0.3.0
1308 ============
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1309
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1310 This major release of pandas represents approximately 1 year of continuous
1311 development work and brings with it many new features, bug fixes, speed
1312 enhancements, and general quality-of-life improvements. The most significant
2666731 @wesm more 0.3.0 release notes
wesm authored
1313 change from the 0.2 release has been the completion of a rigorous unit test
1314 suite covering all of the core functionality.
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1315
6c4b257 @wesm DOC: release notes
wesm authored
1316 Release notes
9c45f6f @wesm BUG: pivot should raise exception if there are duplicate entries,
wesm authored
1317 -------------
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1318
1319 **Release date:** February 20, 2011
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1320
1321 **New features / modules**
1322
64248dd @wesm added release notes
wesm authored
1323 * DataFrame / DataMatrix classes
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1324
64248dd @wesm added release notes
wesm authored
1325 * `corrwith` function to compute column- or row-wise correlations between two
1326 objects
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1327 * Can boolean-index DataFrame objects, e.g. df[df > 2] = 2, px[px > last_px] = 0
1328 * Added comparison magic methods (__lt__, __gt__, etc.)
1329 * Flexible explicit arithmetic methods (add, mul, sub, div, etc.)
1330 * Added `reindex_like` method
64248dd @wesm added release notes
wesm authored
1331
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1332 * WidePanel
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1333
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1334 * Added `reindex_like` method
1335
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1336 * `pandas.io`: IO utilities
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1337
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1338 * `pandas.io.sql` module
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1339
1340 * Convenience functions for accessing SQL-like databases
1341
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1342 * `pandas.io.pytables` module
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1343
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1344 * Added (still experimental) HDFStore class for storing pandas data
1345 structures using HDF5 / PyTables
1346
1347 * `pandas.core.datetools`
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1348
1349 * Added WeekOfMonth date offset
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1350
1351 * `pandas.rpy` (experimental) module created, provide some interfacing /
1352 conversion between rpy2 and pandas
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1353
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1354 **Improvements**
1355
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1356 * Unit test coverage: 100% line coverage of core data structures
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1357
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1358 * Speed enhancement to rolling_{median, max, min}
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1359
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1360 * Column ordering between DataFrame and DataMatrix is now consistent: before
1361 DataFrame would not respect column order
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1362
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1363 * Improved {Series, DataFrame}.plot methods to be more flexible (can pass
1364 matplotlib Axis arguments, plot DataFrame columns in multiple subplots, etc.)
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1365
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1366 **API Changes**
1367
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1368 * Exponentially-weighted moment functions in `pandas.stats.moments`
1369 have a more consistent API and accept a min_periods argument like
1370 their regular moving counterparts.
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1371
64248dd @wesm added release notes
wesm authored
1372 * **fillMethod** argument in Series, DataFrame changed to **method**,
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1373 `FutureWarning` added.
1374
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1375 * **fill** method in Series, DataFrame/DataMatrix, WidePanel renamed to
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1376 **fillna**, `FutureWarning` added to **fill**
1377
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1378 * Renamed **DataFrame.getXS** to **xs**, `FutureWarning` added
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1379
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1380 * Removed **cap** and **floor** functions from DataFrame, renamed to
1381 **clip_upper** and **clip_lower** for consistency with NumPy
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1382
2aeb176 @wesm misc documentation, some work on rpy2 interface. near git migration
wesm authored
1383 **Bug fixes**
1384
ff091a8 @wesm notes nearing 0.3 release
wesm authored
1385 * Fixed bug in IndexableSkiplist Cython code that was breaking
1386 rolling_max function
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1387
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1388 * Numerous numpy.int64-related indexing fixes
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1389
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1390 * Several NumPy 1.4.0 NaN-handling fixes
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1391
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1392 * Bug fixes to pandas.io.parsers.parseCSV
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1393
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1394 * Fixed `DateRange` caching issue with unusual date offsets
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1395
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1396 * Fixed bug in `DateRange.union`
ebe1f0d @wesm DOC: release notes reformat. note about hierarchical indexing
wesm authored
1397
d07fbc8 @wesm 0.3.0 release notes
wesm authored
1398 * Fixed corner case in `IndexableSkiplist` implementation
Something went wrong with that request. Please try again.