1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
.. _whatsnew_0900:
{{ header }}
Version 0.9.0 (October 7, 2012)
-------------------------------
This is a major release from 0.8.1 and includes several new features and
enhancements along with a large number of bug fixes. New features include
vectorized unicode encoding/decoding for ``Series.str``, ``to_latex`` method to
DataFrame, more flexible parsing of boolean values, and enabling the download of
options data from Yahoo! Finance.
New features
~~~~~~~~~~~~
- Add ``encode`` and ``decode`` for unicode handling to :ref:`vectorized
string processing methods <text.string_methods>` in Series.str (:issue:`1706`)
- Add ``DataFrame.to_latex`` method (:issue:`1735`)
- Add convenient expanding window equivalents of all rolling_* ops (:issue:`1785`)
- Add Options class to pandas.io.data for fetching options data from Yahoo!
Finance (:issue:`1748`, :issue:`1739`)
- More flexible parsing of boolean values (Yes, No, TRUE, FALSE, etc)
(:issue:`1691`, :issue:`1295`)
- Add ``level`` parameter to ``Series.reset_index``
- ``TimeSeries.between_time`` can now select times across midnight (:issue:`1871`)
- Series constructor can now handle generator as input (:issue:`1679`)
- ``DataFrame.dropna`` can now take multiple axes (tuple/list) as input
(:issue:`924`)
- Enable ``skip_footer`` parameter in ``ExcelFile.parse`` (:issue:`1843`)
API changes
~~~~~~~~~~~
- The default column names when ``header=None`` and no columns names passed to
functions like ``read_csv`` has changed to be more Pythonic and amenable to
attribute access:
.. ipython:: python
import io
data = """
0,0,1
1,1,0
0,1,0
"""
df = pd.read_csv(io.StringIO(data), header=None)
df
- Creating a Series from another Series, passing an index, will cause reindexing
to happen inside rather than treating the Series like an ndarray. Technically
improper usages like ``Series(df[col1], index=df[col2])`` that worked before
"by accident" (this was never intended) will lead to all NA Series in some
cases. To be perfectly clear:
.. ipython:: python
s1 = pd.Series([1, 2, 3])
s1
s2 = pd.Series(s1, index=["foo", "bar", "baz"])
s2
- Deprecated ``day_of_year`` API removed from PeriodIndex, use ``dayofyear``
(:issue:`1723`)
- Don't modify NumPy suppress printoption to True at import time
- The internal HDF5 data arrangement for DataFrames has been transposed. Legacy
files will still be readable by HDFStore (:issue:`1834`, :issue:`1824`)
- Legacy cruft removed: pandas.stats.misc.quantileTS
- Use ISO8601 format for Period repr: monthly, daily, and on down (:issue:`1776`)
- Empty DataFrame columns are now created as object dtype. This will prevent a
class of TypeErrors that was occurring in code where the dtype of a column
would depend on the presence of data or not (e.g. a SQL query having results)
(:issue:`1783`)
- Setting parts of DataFrame/Panel using ix now aligns input Series/DataFrame
(:issue:`1630`)
- ``first`` and ``last`` methods in ``GroupBy`` no longer drop non-numeric
columns (:issue:`1809`)
- Resolved inconsistencies in specifying custom NA values in text parser.
``na_values`` of type dict no longer override default NAs unless
``keep_default_na`` is set to false explicitly (:issue:`1657`)
- ``DataFrame.dot`` will not do data alignment, and also work with Series
(:issue:`1915`)
See the :ref:`full release notes
<release>` or issue tracker
on GitHub for a complete list.
.. _whatsnew_0.9.0.contributors:
Contributors
~~~~~~~~~~~~
.. contributors:: v0.8.1..v0.9.0
|