diff --git a/doc/source/basics.rst b/doc/source/basics.rst index d4efa8a28f6c5..74f1d80c6fd3d 100644 --- a/doc/source/basics.rst +++ b/doc/source/basics.rst @@ -168,7 +168,7 @@ either match on the *index* or *columns* via the **axis** keyword: df_orig = df -Furthermore you can align a level of a multi-indexed DataFrame with a Series. +Furthermore you can align a level of a MultiIndexed DataFrame with a Series. .. ipython:: python @@ -1034,7 +1034,7 @@ Passing a single function to ``.transform()`` with a ``Series`` will yield a sin Transform with multiple functions +++++++++++++++++++++++++++++++++ -Passing multiple functions will yield a column multi-indexed DataFrame. +Passing multiple functions will yield a column MultiIndexed DataFrame. The first level will be the original frame column names; the second level will be the names of the transforming functions. @@ -1060,7 +1060,7 @@ Passing a dict of functions will allow selective transforming per column. tsdf.transform({'A': np.abs, 'B': lambda x: x+1}) -Passing a dict of lists will generate a multi-indexed DataFrame with these +Passing a dict of lists will generate a MultiIndexed DataFrame with these selective transforms. .. ipython:: python @@ -1889,12 +1889,12 @@ faster than sorting the entire Series and calling ``head(n)`` on the result. df.nsmallest(5, ['a', 'c']) -.. _basics.multi-index_sorting: +.. _basics.multiindex_sorting: -Sorting by a multi-index column -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Sorting by a MultiIndex column +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You must be explicit about sorting when the column is a multi-index, and fully specify +You must be explicit about sorting when the column is a MultiIndex, and fully specify all levels to ``by``. .. ipython:: python diff --git a/doc/source/contributing_docstring.rst b/doc/source/contributing_docstring.rst index 6b2ecfe66d5e2..4dec2a23facca 100644 --- a/doc/source/contributing_docstring.rst +++ b/doc/source/contributing_docstring.rst @@ -243,7 +243,7 @@ their use cases, if it is not too generic. """ Pivot a row index to columns. - When using a multi-index, a level can be pivoted so each value in + When using a MultiIndex, a level can be pivoted so each value in the index becomes a column. This is especially useful when a subindex is repeated for the main index, and data is easier to visualize as a pivot table. diff --git a/doc/source/dsintro.rst b/doc/source/dsintro.rst index b5b56fc6815c9..4d8e7979060f4 100644 --- a/doc/source/dsintro.rst +++ b/doc/source/dsintro.rst @@ -353,7 +353,7 @@ From a list of dicts From a dict of tuples ~~~~~~~~~~~~~~~~~~~~~ -You can automatically create a multi-indexed frame by passing a tuples +You can automatically create a MultiIndexed frame by passing a tuples dictionary. .. ipython:: python diff --git a/doc/source/ecosystem.rst b/doc/source/ecosystem.rst index d0af44cde1857..56fea1ccfd9dc 100644 --- a/doc/source/ecosystem.rst +++ b/doc/source/ecosystem.rst @@ -189,7 +189,7 @@ widely used by institutions such as statistics offices, central banks, and international organisations. pandaSDMX can expose datasets and related structural metadata including data flows, code-lists, and data structure definitions as pandas Series -or multi-indexed DataFrames. +or MultiIndexed DataFrames. `fredapi `__ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/doc/source/io.rst b/doc/source/io.rst index 32129147ee281..658b9ff15783d 100644 --- a/doc/source/io.rst +++ b/doc/source/io.rst @@ -2356,7 +2356,7 @@ Read a URL and match a table that contains specific text: Specify a header row (by default ```` or ```` elements located within a ```` are used to form the column index, if multiple rows are contained within -```` then a multi-index is created); if specified, the header row is taken +```` then a MultiIndex is created); if specified, the header row is taken from the data minus the parsed header elements (```` elements). .. code-block:: python @@ -3615,10 +3615,10 @@ defaults to `nan`. # we have provided a minimum string column size store.root.df_mixed.table -Storing Multi-Index DataFrames -++++++++++++++++++++++++++++++ +Storing MultiIndex DataFrames ++++++++++++++++++++++++++++++ -Storing multi-index ``DataFrames`` as tables is very similar to +Storing MultiIndex ``DataFrames`` as tables is very similar to storing/selecting from homogeneous index ``DataFrames``. .. ipython:: python diff --git a/doc/source/merging.rst b/doc/source/merging.rst index 0de6b871712a3..45944ba56d4e7 100644 --- a/doc/source/merging.rst +++ b/doc/source/merging.rst @@ -1085,12 +1085,12 @@ As you can see, this drops any rows where there was no match. .. _merging.join_on_mi: -Joining a single Index to a Multi-index -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Joining a single Index to a MultiIndex +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -You can join a singly-indexed ``DataFrame`` with a level of a multi-indexed ``DataFrame``. +You can join a singly-indexed ``DataFrame`` with a level of a MultiIndexed ``DataFrame``. The level will match on the name of the index of the singly-indexed frame against -a level name of the multi-indexed frame. +a level name of the MultiIndexed frame. .. ipython:: python @@ -1130,8 +1130,8 @@ This is equivalent but less verbose and more memory efficient / faster than this labels=['left', 'right'], vertical=False); plt.close('all'); -Joining with two multi-indexes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Joining with two MultiIndexes +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is not implemented via ``join`` at-the-moment, however it can be done using the following code. diff --git a/doc/source/release.rst b/doc/source/release.rst index 04c499ff6797b..fa03d614ed42c 100644 --- a/doc/source/release.rst +++ b/doc/source/release.rst @@ -2174,7 +2174,7 @@ Highlights include: - SQL interfaces updated to use ``sqlalchemy``, see :ref:`here`. - Display interface changes, see :ref:`here` - MultiIndexing using Slicers, see :ref:`here`. -- Ability to join a singly-indexed DataFrame with a multi-indexed DataFrame, see :ref:`here ` +- Ability to join a singly-indexed DataFrame with a MultiIndexed DataFrame, see :ref:`here ` - More consistency in groupby results and more flexible groupby specifications, see :ref:`here` - Holiday calendars are now supported in ``CustomBusinessDay``, see :ref:`here ` - Several improvements in plotting functions, including: hexbin, area and pie plots, see :ref:`here`. @@ -2384,8 +2384,8 @@ Bug Fixes - Bug in merging ``timedelta`` dtypes (:issue:`5695`) - Bug in plotting.scatter_matrix function. Wrong alignment among diagonal and off-diagonal plots, see (:issue:`5497`). -- Regression in Series with a multi-index via ix (:issue:`6018`) -- Bug in Series.xs with a multi-index (:issue:`6018`) +- Regression in Series with a MultiIndex via ix (:issue:`6018`) +- Bug in Series.xs with a MultiIndex (:issue:`6018`) - Bug in Series construction of mixed type with datelike and an integer (which should result in object type and not automatic conversion) (:issue:`6028`) - Possible segfault when chained indexing with an object array under NumPy 1.7.1 (:issue:`6026`, :issue:`6056`) @@ -2409,10 +2409,10 @@ Bug Fixes - Fixed a bug in ``query``/``eval`` during lexicographic string comparisons (:issue:`6155`). - Fixed a bug in ``query`` where the index of a single-element ``Series`` was being thrown away (:issue:`6148`). -- Bug in ``HDFStore`` on appending a dataframe with multi-indexed columns to +- Bug in ``HDFStore`` on appending a dataframe with MultiIndexed columns to an existing table (:issue:`6167`) - Consistency with dtypes in setting an empty DataFrame (:issue:`6171`) -- Bug in selecting on a multi-index ``HDFStore`` even in the presence of under +- Bug in selecting on a MultiIndex ``HDFStore`` even in the presence of under specified column spec (:issue:`6169`) - Bug in ``nanops.var`` with ``ddof=1`` and 1 elements would sometimes return ``inf`` rather than ``nan`` on some platforms (:issue:`6136`) @@ -2659,8 +2659,8 @@ API Changes - the ``format`` keyword now replaces the ``table`` keyword; allowed values are ``fixed(f)|table(t)`` the ``Storer`` format has been renamed to ``Fixed`` - - a column multi-index will be recreated properly (:issue:`4710`); raise on - trying to use a multi-index with data_columns on the same axis + - a column MultiIndex will be recreated properly (:issue:`4710`); raise on + trying to use a MultiIndex with data_columns on the same axis - ``select_as_coordinates`` will now return an ``Int64Index`` of the resultant selection set - support ``timedelta64[ns]`` as a serialization type (:issue:`3577`) @@ -2932,7 +2932,7 @@ Bug Fixes - A zero length series written in Fixed format not deserializing properly. (:issue:`4708`) - Fixed decoding perf issue on pyt3 (:issue:`5441`) - - Validate levels in a multi-index before storing (:issue:`5527`) + - Validate levels in a MultiIndex before storing (:issue:`5527`) - Correctly handle ``data_columns`` with a Panel (:issue:`5717`) - Fixed bug in tslib.tz_convert(vals, tz1, tz2): it could raise IndexError exception while trying to access trans[pos + 1] (:issue:`4496`) @@ -2995,7 +2995,7 @@ Bug Fixes alignment (:issue:`3777`) - frozenset objects now raise in the ``Series`` constructor (:issue:`4482`, :issue:`4480`) -- Fixed issue with sorting a duplicate multi-index that has multiple dtypes +- Fixed issue with sorting a duplicate MultiIndex that has multiple dtypes (:issue:`4516`) - Fixed bug in ``DataFrame.set_values`` which was causing name attributes to be lost when expanding the index. (:issue:`3742`, :issue:`4039`) @@ -3042,11 +3042,11 @@ Bug Fixes (:issue:`4328`) - Bug with Series indexing not raising an error when the right-hand-side has an incorrect length (:issue:`2702`) -- Bug in multi-indexing with a partial string selection as one part of a +- Bug in MultiIndexing with a partial string selection as one part of a MultIndex (:issue:`4758`) - Bug with reindexing on the index with a non-unique index will now raise ``ValueError`` (:issue:`4746`) -- Bug in setting with ``loc/ix`` a single indexer with a multi-index axis and +- Bug in setting with ``loc/ix`` a single indexer with a MultiIndex axis and a NumPy array, related to (:issue:`3777`) - Bug in concatenation with duplicate columns across dtypes not merging with axis=0 (:issue:`4771`, :issue:`4975`) @@ -3117,7 +3117,7 @@ Bug Fixes - Make sure series-series boolean comparisons are label based (:issue:`4947`) - Bug in multi-level indexing with a Timestamp partial indexer (:issue:`4294`) -- Tests/fix for multi-index construction of an all-nan frame (:issue:`4078`) +- Tests/fix for MultiIndex construction of an all-nan frame (:issue:`4078`) - Fixed a bug where :func:`~pandas.read_html` wasn't correctly inferring values of tables with commas (:issue:`5029`) - Fixed a bug where :func:`~pandas.read_html` wasn't providing a stable @@ -3174,7 +3174,7 @@ Bug Fixes - Fixed segfault in C parser caused by passing more names than columns in the file. (:issue:`5156`) - Fix ``Series.isin`` with date/time-like dtypes (:issue:`5021`) -- C and Python Parser can now handle the more common multi-index column +- C and Python Parser can now handle the more common MultiIndex column format which doesn't have a row for index names (:issue:`4702`) - Bug when trying to use an out-of-bounds date as an object dtype (:issue:`5312`) @@ -3199,7 +3199,7 @@ Bug Fixes - performance improvements in ``isnull`` on larger size pandas objects - Fixed various setitem with 1d ndarray that does not have a matching length to the indexer (:issue:`5508`) -- Bug in getitem with a multi-index and ``iloc`` (:issue:`5528`) +- Bug in getitem with a MultiIndex and ``iloc`` (:issue:`5528`) - Bug in delitem on a Series (:issue:`5542`) - Bug fix in apply when using custom function and objects are not mutated (:issue:`5545`) - Bug in selecting from a non-unique index with ``loc`` (:issue:`5553`) @@ -3208,7 +3208,7 @@ Bug Fixes - Bug in repeated indexing of object with resultant non-unique index (:issue:`5678`) - Bug in fillna with Series and a passed series/dict (:issue:`5703`) - Bug in groupby transform with a datetime-like grouper (:issue:`5712`) -- Bug in multi-index selection in PY3 when using certain keys (:issue:`5725`) +- Bug in MultiIndex selection in PY3 when using certain keys (:issue:`5725`) - Row-wise concat of differing dtypes failing in certain cases (:issue:`5754`) pandas 0.12.0 @@ -3229,14 +3229,14 @@ New Features - Added module for reading and writing Stata files: pandas.io.stata (:issue:`1512`) includes ``to_stata`` DataFrame method, and a ``read_stata`` top-level reader - Added support for writing in ``to_csv`` and reading in ``read_csv``, - multi-index columns. The ``header`` option in ``read_csv`` now accepts a + MultiIndex columns. The ``header`` option in ``read_csv`` now accepts a list of the rows from which to read the index. Added the option, ``tupleize_cols`` to provide compatibility for the pre 0.12 behavior of - writing and reading multi-index columns via a list of tuples. The default in + writing and reading MultiIndex columns via a list of tuples. The default in 0.12 is to write lists of tuples and *not* interpret list of tuples as a - multi-index column. + MultiIndex column. Note: The default value will change in 0.12 to make the default *to* write and - read multi-index columns in the new format. (:issue:`3571`, :issue:`1651`, :issue:`3141`) + read MultiIndex columns in the new format. (:issue:`3571`, :issue:`1651`, :issue:`3141`) - Add iterator to ``Series.str`` (:issue:`3638`) - ``pd.set_option()`` now allows N option, value pairs (:issue:`3667`). - Added keyword parameters for different types of scatter_matrix subplots @@ -3447,7 +3447,7 @@ Bug Fixes - Fixed bug with ``Panel.transpose`` argument aliases (:issue:`3556`) - Fixed platform bug in ``PeriodIndex.take`` (:issue:`3579`) - Fixed bud in incorrect conversion of datetime64[ns] in ``combine_first`` (:issue:`3593`) -- Fixed bug in reset_index with ``NaN`` in a multi-index (:issue:`3586`) +- Fixed bug in reset_index with ``NaN`` in a MultiIndex (:issue:`3586`) - ``fillna`` methods now raise a ``TypeError`` when the ``value`` parameter is a ``list`` or ``tuple``. - Fixed bug where a time-series was being selected in preference to an actual column name @@ -3480,7 +3480,7 @@ Bug Fixes their first argument (:issue:`3702`) - Fix file tokenization error with \r delimiter and quoted fields (:issue:`3453`) - Groupby transform with item-by-item not upcasting correctly (:issue:`3740`) -- Incorrectly read a HDFStore multi-index Frame with a column specification (:issue:`3748`) +- Incorrectly read a HDFStore MultiIndex Frame with a column specification (:issue:`3748`) - ``read_html`` now correctly skips tests (:issue:`3741`) - PandasObjects raise TypeError when trying to hash (:issue:`3882`) - Fix incorrect arguments passed to concat that are not list-like (e.g. concat(df1,df2)) (:issue:`3481`) @@ -3497,7 +3497,7 @@ Bug Fixes - csv parsers would loop infinitely if ``iterator=True`` but no ``chunksize`` was specified (:issue:`3967`), Python parser failing with ``chunksize=1`` - Fix index name not propagating when using ``shift`` -- Fixed dropna=False being ignored with multi-index stack (:issue:`3997`) +- Fixed dropna=False being ignored with MultiIndex stack (:issue:`3997`) - Fixed flattening of columns when renaming MultiIndex columns DataFrame (:issue:`4004`) - Fix ``Series.clip`` for datetime series. NA/NaN threshold values will now throw ValueError (:issue:`3996`) - Fixed insertion issue into DataFrame, after rename (:issue:`4032`) @@ -3521,7 +3521,7 @@ Bug Fixes iterated over when regex=False (:issue:`4115`) - Fixed bug in ``convert_objects(convert_numeric=True)`` where a mixed numeric and object Series/Frame was not converting properly (:issue:`4119`) -- Fixed bugs in multi-index selection with column multi-index and duplicates +- Fixed bugs in MultiIndex selection with column MultiIndex and duplicates (:issue:`4145`, :issue:`4146`) - Fixed bug in the parsing of microseconds when using the ``format`` argument in ``to_datetime`` (:issue:`4152`) @@ -3830,7 +3830,7 @@ Improvements to existing features - ``HDFStore`` - - enables storing of multi-index dataframes (closes :issue:`1277`) + - enables storing of MultiIndex dataframes (closes :issue:`1277`) - support data column indexing and selection, via ``data_columns`` keyword in append - support write chunking to reduce memory footprint, via ``chunksize`` diff --git a/doc/source/spelling_wordlist.txt b/doc/source/spelling_wordlist.txt index 4c355a1b9c435..be93cdad083e9 100644 --- a/doc/source/spelling_wordlist.txt +++ b/doc/source/spelling_wordlist.txt @@ -8,6 +8,10 @@ ga fe reindexed automagic +closedness +ae +arbitrarly +losslessly Histogramming histogramming concat diff --git a/doc/source/whatsnew/v0.10.0.txt b/doc/source/whatsnew/v0.10.0.txt index 3a269e53a2404..ec4ac17c80fd7 100644 --- a/doc/source/whatsnew/v0.10.0.txt +++ b/doc/source/whatsnew/v0.10.0.txt @@ -370,7 +370,7 @@ Updated PyTables Support df1.get_dtype_counts() - performance improvements on table writing -- support for arbitrary indexed dimensions +- support for arbitrarly indexed dimensions - ``SparseSeries`` now has a ``density`` property (:issue:`2384`) - enable ``Series.str.strip/lstrip/rstrip`` methods to take an input argument to strip arbitrary characters (:issue:`2411`) diff --git a/doc/source/whatsnew/v0.10.1.txt b/doc/source/whatsnew/v0.10.1.txt index bb405c283ba24..f1a32440c6950 100644 --- a/doc/source/whatsnew/v0.10.1.txt +++ b/doc/source/whatsnew/v0.10.1.txt @@ -93,7 +93,7 @@ columns, this is equivalent to passing a store.select('df',columns = ['A','B']) -``HDFStore`` now serializes multi-index dataframes when appending tables. +``HDFStore`` now serializes MultiIndex dataframes when appending tables. .. ipython:: python diff --git a/doc/source/whatsnew/v0.12.0.txt b/doc/source/whatsnew/v0.12.0.txt index 69483b18a5490..f66f6c0f72d5d 100644 --- a/doc/source/whatsnew/v0.12.0.txt +++ b/doc/source/whatsnew/v0.12.0.txt @@ -7,7 +7,7 @@ This is a major release from 0.11.0 and includes several new features and enhancements along with a large number of bug fixes. Highlights include a consistent I/O API naming scheme, routines to read html, -write multi-indexes to csv files, read & write STATA data files, read & write JSON format +write MultiIndexes to csv files, read & write STATA data files, read & write JSON format files, Python 3 support for ``HDFStore``, filtering of groupby expressions via ``filter``, and a revamped ``replace`` routine that accepts regular expressions. diff --git a/doc/source/whatsnew/v0.14.0.txt b/doc/source/whatsnew/v0.14.0.txt index 4408470c52feb..d4b7b09c054d6 100644 --- a/doc/source/whatsnew/v0.14.0.txt +++ b/doc/source/whatsnew/v0.14.0.txt @@ -13,7 +13,7 @@ users upgrade to this version. - SQL interfaces updated to use ``sqlalchemy``, See :ref:`Here`. - Display interface changes, See :ref:`Here` - MultiIndexing Using Slicers, See :ref:`Here`. - - Ability to join a singly-indexed DataFrame with a multi-indexed DataFrame, see :ref:`Here ` + - Ability to join a singly-indexed DataFrame with a MultiIndexed DataFrame, see :ref:`Here ` - More consistency in groupby results and more flexible groupby specifications, See :ref:`Here` - Holiday calendars are now supported in ``CustomBusinessDay``, see :ref:`Here ` - Several improvements in plotting functions, including: hexbin, area and pie plots, see :ref:`Here`. @@ -466,8 +466,8 @@ Some other enhancements to the sql functions include: MultiIndexing Using Slicers ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -In 0.14.0 we added a new way to slice multi-indexed objects. -You can slice a multi-index by providing multiple indexers. +In 0.14.0 we added a new way to slice MultiIndexed objects. +You can slice a MultiIndex by providing multiple indexers. You can provide any of the selectors as if you are indexing by label, see :ref:`Selection by Label `, including slices, lists of labels, labels, and boolean indexers. @@ -519,7 +519,7 @@ See also issues (:issue:`6134`, :issue:`4036`, :issue:`3057`, :issue:`2598`, :is columns=columns).sort_index().sort_index(axis=1) df -Basic multi-index slicing using slices, lists, and labels. +Basic MultiIndex slicing using slices, lists, and labels. .. ipython:: python @@ -748,9 +748,9 @@ Enhancements - Add option to turn off escaping in ``DataFrame.to_latex`` (:issue:`6472`) - ``pd.read_clipboard`` will, if the keyword ``sep`` is unspecified, try to detect data copied from a spreadsheet and parse accordingly. (:issue:`6223`) -- Joining a singly-indexed DataFrame with a multi-indexed DataFrame (:issue:`3662`) +- Joining a singly-indexed DataFrame with a MultiIndexed DataFrame (:issue:`3662`) - See :ref:`the docs`. Joining multi-index DataFrames on both the left and right is not yet supported ATM. + See :ref:`the docs`. Joining MultiIndex DataFrames on both the left and right is not yet supported ATM. .. ipython:: python @@ -781,7 +781,7 @@ Enhancements noon, January 1, 4713 BC. Because nanoseconds are used to define the time in pandas the actual range of dates that you can use is 1678 AD to 2262 AD. (:issue:`4041`) - ``DataFrame.to_stata`` will now check data for compatibility with Stata data types - and will upcast when needed. When it is not possible to lossless upcast, a warning + and will upcast when needed. When it is not possible to losslessly upcast, a warning is issued (:issue:`6327`) - ``DataFrame.to_stata`` and ``StataWriter`` will accept keyword arguments time_stamp and data_label which allow the time stamp and dataset label to be set when creating a @@ -852,7 +852,7 @@ Performance - Performance improvement when converting ``DatetimeIndex`` to floating ordinals using ``DatetimeConverter`` (:issue:`6636`) - Performance improvement for ``DataFrame.shift`` (:issue:`5609`) -- Performance improvement in indexing into a multi-indexed Series (:issue:`5567`) +- Performance improvement in indexing into a MultiIndexed Series (:issue:`5567`) - Performance improvements in single-dtyped indexing (:issue:`6484`) - Improve performance of DataFrame construction with certain offsets, by removing faulty caching (e.g. MonthEnd,BusinessMonthEnd), (:issue:`6479`) @@ -896,7 +896,7 @@ Bug Fixes - Issue with groupby ``agg`` with a single function and a a mixed-type frame (:issue:`6337`) - Bug in ``DataFrame.replace()`` when passing a non- ``bool`` ``to_replace`` argument (:issue:`6332`) -- Raise when trying to align on different levels of a multi-index assignment (:issue:`3738`) +- Raise when trying to align on different levels of a MultiIndex assignment (:issue:`3738`) - Bug in setting complex dtypes via boolean indexing (:issue:`6345`) - Bug in TimeGrouper/resample when presented with a non-monotonic DatetimeIndex that would return invalid results. (:issue:`4161`) - Bug in index name propagation in TimeGrouper/resample (:issue:`4161`) @@ -996,7 +996,7 @@ Bug Fixes - accept ``TextFileReader`` in ``concat``, which was affecting a common user idiom (:issue:`6583`) - Bug in C parser with leading white space (:issue:`3374`) - Bug in C parser with ``delim_whitespace=True`` and ``\r``-delimited lines -- Bug in python parser with explicit multi-index in row following column header (:issue:`6893`) +- Bug in python parser with explicit MultiIndex in row following column header (:issue:`6893`) - Bug in ``Series.rank`` and ``DataFrame.rank`` that caused small floats (<1e-13) to all receive the same rank (:issue:`6886`) - Bug in ``DataFrame.apply`` with functions that used ``*args`` or ``**kwargs`` and returned an empty result (:issue:`6952`) @@ -1043,7 +1043,7 @@ Bug Fixes - Bug in ``query``/``eval`` where global constants were not looked up correctly (:issue:`7178`) - Bug in recognizing out-of-bounds positional list indexers with ``iloc`` and a multi-axis tuple indexer (:issue:`7189`) -- Bug in setitem with a single value, multi-index and integer indices (:issue:`7190`, :issue:`7218`) +- Bug in setitem with a single value, MultiIndex and integer indices (:issue:`7190`, :issue:`7218`) - Bug in expressions evaluation with reversed ops, showing in series-dataframe ops (:issue:`7198`, :issue:`7192`) -- Bug in multi-axis indexing with > 2 ndim and a multi-index (:issue:`7199`) +- Bug in multi-axis indexing with > 2 ndim and a MultiIndex (:issue:`7199`) - Fix a bug where invalid eval/query operations would blow the stack (:issue:`5198`) diff --git a/doc/source/whatsnew/v0.14.1.txt b/doc/source/whatsnew/v0.14.1.txt index f7f69218e0ef5..5183dd24e9b34 100644 --- a/doc/source/whatsnew/v0.14.1.txt +++ b/doc/source/whatsnew/v0.14.1.txt @@ -156,7 +156,7 @@ Experimental ~~~~~~~~~~~~ - ``pandas.io.data.Options`` has a new method, ``get_all_data`` method, and now consistently returns a - multi-indexed ``DataFrame`` (:issue:`5602`) + MultiIndexed ``DataFrame`` (:issue:`5602`) - ``io.gbq.read_gbq`` and ``io.gbq.to_gbq`` were refactored to remove the dependency on the Google ``bq.py`` command line client. This submodule now uses ``httplib2`` and the Google ``apiclient`` and ``oauth2client`` API client @@ -169,7 +169,7 @@ Experimental Bug Fixes ~~~~~~~~~ - Bug in ``DataFrame.where`` with a symmetric shaped frame and a passed other of a DataFrame (:issue:`7506`) -- Bug in Panel indexing with a multi-index axis (:issue:`7516`) +- Bug in Panel indexing with a MultiIndex axis (:issue:`7516`) - Regression in datetimelike slice indexing with a duplicated index and non-exact end-points (:issue:`7523`) - Bug in setitem with list-of-lists and single vs mixed types (:issue:`7551`:) - Bug in time ops with non-aligned Series (:issue:`7500`) @@ -183,10 +183,10 @@ Bug Fixes - Bug in plotting subplots with ``DataFrame.plot``, ``hist`` clears passed ``ax`` even if the number of subplots is one (:issue:`7391`). - Bug in plotting subplots with ``DataFrame.boxplot`` with ``by`` kw raises ``ValueError`` if the number of subplots exceeds 1 (:issue:`7391`). - Bug in subplots displays ``ticklabels`` and ``labels`` in different rule (:issue:`5897`) -- Bug in ``Panel.apply`` with a multi-index as an axis (:issue:`7469`) +- Bug in ``Panel.apply`` with a MultiIndex as an axis (:issue:`7469`) - Bug in ``DatetimeIndex.insert`` doesn't preserve ``name`` and ``tz`` (:issue:`7299`) - Bug in ``DatetimeIndex.asobject`` doesn't preserve ``name`` (:issue:`7299`) -- Bug in multi-index slicing with datetimelike ranges (strings and Timestamps), (:issue:`7429`) +- Bug in MultiIndex slicing with datetimelike ranges (strings and Timestamps), (:issue:`7429`) - Bug in ``Index.min`` and ``max`` doesn't handle ``nan`` and ``NaT`` properly (:issue:`7261`) - Bug in ``PeriodIndex.min/max`` results in ``int`` (:issue:`7609`) - Bug in ``resample`` where ``fill_method`` was ignored if you passed ``how`` (:issue:`2073`) @@ -221,8 +221,8 @@ Bug Fixes - Bug where ``NDFrame.replace()`` didn't correctly replace objects with ``Period`` values (:issue:`7379`). - Bug in ``.ix`` getitem should always return a Series (:issue:`7150`) -- Bug in multi-index slicing with incomplete indexers (:issue:`7399`) -- Bug in multi-index slicing with a step in a sliced level (:issue:`7400`) +- Bug in MultiIndex slicing with incomplete indexers (:issue:`7399`) +- Bug in MultiIndex slicing with a step in a sliced level (:issue:`7400`) - Bug where negative indexers in ``DatetimeIndex`` were not correctly sliced (:issue:`7408`) - Bug where ``NaT`` wasn't repr'd correctly in a ``MultiIndex`` (:issue:`7406`, diff --git a/doc/source/whatsnew/v0.15.0.txt b/doc/source/whatsnew/v0.15.0.txt index 94093b2cfb16c..79003296ac165 100644 --- a/doc/source/whatsnew/v0.15.0.txt +++ b/doc/source/whatsnew/v0.15.0.txt @@ -711,7 +711,7 @@ Other notable API changes: 2 7 NaN 3 11 NaN - Furthermore, ``.loc`` will raise If no values are found in a multi-index with a list-like indexer: + Furthermore, ``.loc`` will raise If no values are found in a MultiIndex with a list-like indexer: .. ipython:: python :okexcept: @@ -1114,9 +1114,9 @@ Bug Fixes - Bug in ``DatetimeIndex`` and ``PeriodIndex`` in-place addition and subtraction cause different result from normal one (:issue:`6527`) - Bug in adding and subtracting ``PeriodIndex`` with ``PeriodIndex`` raise ``TypeError`` (:issue:`7741`) - Bug in ``combine_first`` with ``PeriodIndex`` data raises ``TypeError`` (:issue:`3367`) -- Bug in multi-index slicing with missing indexers (:issue:`7866`) -- Bug in multi-index slicing with various edge cases (:issue:`8132`) -- Regression in multi-index indexing with a non-scalar type object (:issue:`7914`) +- Bug in MultiIndex slicing with missing indexers (:issue:`7866`) +- Bug in MultiIndex slicing with various edge cases (:issue:`8132`) +- Regression in MultiIndex indexing with a non-scalar type object (:issue:`7914`) - Bug in ``Timestamp`` comparisons with ``==`` and ``int64`` dtype (:issue:`8058`) - Bug in pickles contains ``DateOffset`` may raise ``AttributeError`` when ``normalize`` attribute is referred internally (:issue:`7748`) - Bug in ``Panel`` when using ``major_xs`` and ``copy=False`` is passed (deprecation warning fails because of missing ``warnings``) (:issue:`8152`). @@ -1130,7 +1130,7 @@ Bug Fixes - Bug in ``get`` where an ``IndexError`` would not cause the default value to be returned (:issue:`7725`) - Bug in ``offsets.apply``, ``rollforward`` and ``rollback`` may reset nanosecond (:issue:`7697`) - Bug in ``offsets.apply``, ``rollforward`` and ``rollback`` may raise ``AttributeError`` if ``Timestamp`` has ``dateutil`` tzinfo (:issue:`7697`) -- Bug in sorting a multi-index frame with a ``Float64Index`` (:issue:`8017`) +- Bug in sorting a MultiIndex frame with a ``Float64Index`` (:issue:`8017`) - Bug in inconsistent panel setitem with a rhs of a ``DataFrame`` for alignment (:issue:`7763`) - Bug in ``is_superperiod`` and ``is_subperiod`` cannot handle higher frequencies than ``S`` (:issue:`7760`, :issue:`7772`, :issue:`7803`) - Bug in 32-bit platforms with ``Series.shift`` (:issue:`8129`) @@ -1212,7 +1212,7 @@ Bug Fixes - Bug in ``NDFrame.loc`` indexing when row/column names were lost when target was a list/ndarray (:issue:`6552`) - Regression in ``NDFrame.loc`` indexing when rows/columns were converted to Float64Index if target was an empty list/ndarray (:issue:`7774`) - Bug in ``Series`` that allows it to be indexed by a ``DataFrame`` which has unexpected results. Such indexing is no longer permitted (:issue:`8444`) -- Bug in item assignment of a ``DataFrame`` with multi-index columns where right-hand-side columns were not aligned (:issue:`7655`) +- Bug in item assignment of a ``DataFrame`` with MultiIndex columns where right-hand-side columns were not aligned (:issue:`7655`) - Suppress FutureWarning generated by NumPy when comparing object arrays containing NaN for equality (:issue:`7065`) - Bug in ``DataFrame.eval()`` where the dtype of the ``not`` operator (``~``) was not correctly inferred as ``bool``. diff --git a/doc/source/whatsnew/v0.15.1.txt b/doc/source/whatsnew/v0.15.1.txt index 918eab3a9763e..8cbf239ea20d0 100644 --- a/doc/source/whatsnew/v0.15.1.txt +++ b/doc/source/whatsnew/v0.15.1.txt @@ -288,7 +288,7 @@ Bug Fixes - Bug in Panel indexing with a list-like (:issue:`8710`) - Compat issue is ``DataFrame.dtypes`` when ``options.mode.use_inf_as_null`` is True (:issue:`8722`) - Bug in ``read_csv``, ``dialect`` parameter would not take a string (:issue:`8703`) -- Bug in slicing a multi-index level with an empty-list (:issue:`8737`) +- Bug in slicing a MultiIndex level with an empty-list (:issue:`8737`) - Bug in numeric index operations of add/sub with Float/Index Index with numpy arrays (:issue:`8608`) - Bug in setitem with empty indexer and unwanted coercion of dtypes (:issue:`8669`) - Bug in ix/loc block splitting on setitem (manifests with integer-like dtypes, e.g. datetime64) (:issue:`8607`) diff --git a/doc/source/whatsnew/v0.15.2.txt b/doc/source/whatsnew/v0.15.2.txt index 16a57676c89c0..ee72fab7d23f2 100644 --- a/doc/source/whatsnew/v0.15.2.txt +++ b/doc/source/whatsnew/v0.15.2.txt @@ -199,7 +199,7 @@ Bug Fixes - Bug in ``groupby`` signatures that didn't include \*args or \*\*kwargs (:issue:`8733`). - ``io.data.Options`` now raises ``RemoteDataError`` when no expiry dates are available from Yahoo and when it receives no data from Yahoo (:issue:`8761`), (:issue:`8783`). - Unclear error message in csv parsing when passing dtype and names and the parsed data is a different data type (:issue:`8833`) -- Bug in slicing a multi-index with an empty list and at least one boolean indexer (:issue:`8781`) +- Bug in slicing a MultiIndex with an empty list and at least one boolean indexer (:issue:`8781`) - ``io.data.Options`` now raises ``RemoteDataError`` when no expiry dates are available from Yahoo (:issue:`8761`). - ``Timedelta`` kwargs may now be numpy ints and floats (:issue:`8757`). - Fixed several outstanding bugs for ``Timedelta`` arithmetic and comparisons (:issue:`8813`, :issue:`5963`, :issue:`5436`). diff --git a/doc/source/whatsnew/v0.16.0.txt b/doc/source/whatsnew/v0.16.0.txt index 214a08ef0bbff..ce525bbb4c1d6 100644 --- a/doc/source/whatsnew/v0.16.0.txt +++ b/doc/source/whatsnew/v0.16.0.txt @@ -589,7 +589,7 @@ Bug Fixes - Fixed bug on big endian platforms which produced incorrect results in ``StataReader`` (:issue:`8688`). - Bug in ``MultiIndex.has_duplicates`` when having many levels causes an indexer overflow (:issue:`9075`, :issue:`5873`) - Bug in ``pivot`` and ``unstack`` where ``nan`` values would break index alignment (:issue:`4862`, :issue:`7401`, :issue:`7403`, :issue:`7405`, :issue:`7466`, :issue:`9497`) -- Bug in left ``join`` on multi-index with ``sort=True`` or null values (:issue:`9210`). +- Bug in left ``join`` on MultiIndex with ``sort=True`` or null values (:issue:`9210`). - Bug in ``MultiIndex`` where inserting new keys would fail (:issue:`9250`). - Bug in ``groupby`` when key space exceeds ``int64`` bounds (:issue:`9096`). - Bug in ``unstack`` with ``TimedeltaIndex`` or ``DatetimeIndex`` and nulls (:issue:`9491`). diff --git a/doc/source/whatsnew/v0.16.1.txt b/doc/source/whatsnew/v0.16.1.txt index e2da12fc94b58..d3a8064a0e786 100644 --- a/doc/source/whatsnew/v0.16.1.txt +++ b/doc/source/whatsnew/v0.16.1.txt @@ -133,7 +133,7 @@ groupby operations on the index will preserve the index nature as well reindexing operations, will return a resulting index based on the type of the passed indexer, meaning that passing a list will return a plain-old-``Index``; indexing with a ``Categorical`` will return a ``CategoricalIndex``, indexed according to the categories -of the PASSED ``Categorical`` dtype. This allows one to arbitrary index these even with +of the PASSED ``Categorical`` dtype. This allows one to arbitrarly index these even with values NOT in the categories, similarly to how you can reindex ANY pandas index. .. code-block:: ipython @@ -455,7 +455,7 @@ Bug Fixes - Bug where using DataFrames asfreq would remove the name of the index. (:issue:`9885`) - Bug causing extra index point when resample BM/BQ (:issue:`9756`) - Changed caching in ``AbstractHolidayCalendar`` to be at the instance level rather than at the class level as the latter can result in unexpected behaviour. (:issue:`9552`) -- Fixed latex output for multi-indexed dataframes (:issue:`9778`) +- Fixed latex output for MultiIndexed dataframes (:issue:`9778`) - Bug causing an exception when setting an empty range using ``DataFrame.loc`` (:issue:`9596`) - Bug in hiding ticklabels with subplots and shared axes when adding a new plot to an existing grid of axes (:issue:`9158`) - Bug in ``transform`` and ``filter`` when grouping on a categorical variable (:issue:`9921`) diff --git a/doc/source/whatsnew/v0.17.0.txt b/doc/source/whatsnew/v0.17.0.txt index 1b98ebd0e19c5..404f2bf06e861 100644 --- a/doc/source/whatsnew/v0.17.0.txt +++ b/doc/source/whatsnew/v0.17.0.txt @@ -1069,7 +1069,7 @@ Bug Fixes - Bug in ``offsets.generate_range`` where ``start`` and ``end`` have finer precision than ``offset`` (:issue:`9907`) - Bug in ``pd.rolling_*`` where ``Series.name`` would be lost in the output (:issue:`10565`) - Bug in ``stack`` when index or columns are not unique. (:issue:`10417`) -- Bug in setting a ``Panel`` when an axis has a multi-index (:issue:`10360`) +- Bug in setting a ``Panel`` when an axis has a MultiIndex (:issue:`10360`) - Bug in ``USFederalHolidayCalendar`` where ``USMemorialDay`` and ``USMartinLutherKingJr`` were incorrect (:issue:`10278` and :issue:`9760` ) - Bug in ``.sample()`` where returned object, if set, gives unnecessary ``SettingWithCopyWarning`` (:issue:`10738`) - Bug in ``.sample()`` where weights passed as ``Series`` were not aligned along axis before being treated positionally, potentially causing problems if weight indices were not aligned with sampled object. (:issue:`10738`) diff --git a/doc/source/whatsnew/v0.17.1.txt b/doc/source/whatsnew/v0.17.1.txt index 990f27950d982..c5ae0d147824c 100644 --- a/doc/source/whatsnew/v0.17.1.txt +++ b/doc/source/whatsnew/v0.17.1.txt @@ -160,7 +160,7 @@ Bug Fixes - Bug in ``HDFStore.append`` with strings whose encoded length exceeded the max unencoded length (:issue:`11234`) - Bug in merging ``datetime64[ns, tz]`` dtypes (:issue:`11405`) - Bug in ``HDFStore.select`` when comparing with a numpy scalar in a where clause (:issue:`11283`) -- Bug in using ``DataFrame.ix`` with a multi-index indexer (:issue:`11372`) +- Bug in using ``DataFrame.ix`` with a MultiIndex indexer (:issue:`11372`) - Bug in ``date_range`` with ambiguous endpoints (:issue:`11626`) - Prevent adding new attributes to the accessors ``.str``, ``.dt`` and ``.cat``. Retrieving such a value was not possible, so error out on setting it. (:issue:`10673`) @@ -189,7 +189,7 @@ Bug Fixes - Bug in ``pandas.json`` when file to load is big (:issue:`11344`) - Bugs in ``to_excel`` with duplicate columns (:issue:`11007`, :issue:`10982`, :issue:`10970`) - Fixed a bug that prevented the construction of an empty series of dtype ``datetime64[ns, tz]`` (:issue:`11245`). -- Bug in ``read_excel`` with multi-index containing integers (:issue:`11317`) +- Bug in ``read_excel`` with MultiIndex containing integers (:issue:`11317`) - Bug in ``to_excel`` with openpyxl 2.2+ and merging (:issue:`11408`) - Bug in ``DataFrame.to_dict()`` produces a ``np.datetime64`` object instead of ``Timestamp`` when only datetime is present in data (:issue:`11327`) - Bug in ``DataFrame.corr()`` raises exception when computes Kendall correlation for DataFrames with boolean and not boolean columns (:issue:`11560`) diff --git a/doc/source/whatsnew/v0.18.0.txt b/doc/source/whatsnew/v0.18.0.txt index 8dc49dbc319a6..a3213136d998a 100644 --- a/doc/source/whatsnew/v0.18.0.txt +++ b/doc/source/whatsnew/v0.18.0.txt @@ -1257,7 +1257,7 @@ Bug Fixes - Bug in ``read_sql`` with ``pymysql`` connections failing to return chunked data (:issue:`11522`) - Bug in ``.to_csv`` ignoring formatting parameters ``decimal``, ``na_rep``, ``float_format`` for float indexes (:issue:`11553`) - Bug in ``Int64Index`` and ``Float64Index`` preventing the use of the modulo operator (:issue:`9244`) -- Bug in ``MultiIndex.drop`` for not lexsorted multi-indexes (:issue:`12078`) +- Bug in ``MultiIndex.drop`` for not lexsorted MultiIndexes (:issue:`12078`) - Bug in ``DataFrame`` when masking an empty ``DataFrame`` (:issue:`11859`) @@ -1277,7 +1277,7 @@ Bug Fixes - Bug in ``Series`` constructor with read-only data (:issue:`11502`) - Removed ``pandas.util.testing.choice()``. Should use ``np.random.choice()``, instead. (:issue:`12386`) - Bug in ``.loc`` setitem indexer preventing the use of a TZ-aware DatetimeIndex (:issue:`12050`) -- Bug in ``.style`` indexes and multi-indexes not appearing (:issue:`11655`) +- Bug in ``.style`` indexes and MultiIndexes not appearing (:issue:`11655`) - Bug in ``to_msgpack`` and ``from_msgpack`` which did not correctly serialize or deserialize ``NaT`` (:issue:`12307`). - Bug in ``.skew`` and ``.kurt`` due to roundoff error for highly similar values (:issue:`11974`) - Bug in ``Timestamp`` constructor where microsecond resolution was lost if HHMMSS were not separated with ':' (:issue:`10041`) diff --git a/doc/source/whatsnew/v0.20.0.txt b/doc/source/whatsnew/v0.20.0.txt index bd90e371597dc..2146b7b99a5a7 100644 --- a/doc/source/whatsnew/v0.20.0.txt +++ b/doc/source/whatsnew/v0.20.0.txt @@ -462,7 +462,7 @@ Selecting via a scalar value that is contained *in* the intervals. Other Enhancements ^^^^^^^^^^^^^^^^^^ -- ``DataFrame.rolling()`` now accepts the parameter ``closed='right'|'left'|'both'|'neither'`` to choose the rolling window-endpoint closed. See the :ref:`documentation ` (:issue:`13965`) +- ``DataFrame.rolling()`` now accepts the parameter ``closed='right'|'left'|'both'|'neither'`` to choose the rolling window-endpoint closedness. See the :ref:`documentation ` (:issue:`13965`) - Integration with the ``feather-format``, including a new top-level ``pd.read_feather()`` and ``DataFrame.to_feather()`` method, see :ref:`here `. - ``Series.str.replace()`` now accepts a callable, as replacement, which is passed to ``re.sub`` (:issue:`15055`) - ``Series.str.replace()`` now accepts a compiled regular expression as a pattern (:issue:`15446`) diff --git a/doc/source/whatsnew/v0.21.0.txt b/doc/source/whatsnew/v0.21.0.txt index 3a257c1ff9648..77ae5b92d0e70 100644 --- a/doc/source/whatsnew/v0.21.0.txt +++ b/doc/source/whatsnew/v0.21.0.txt @@ -935,7 +935,7 @@ Deprecations - :func:`read_excel()` has deprecated ``sheetname`` in favor of ``sheet_name`` for consistency with ``.to_excel()`` (:issue:`10559`). - :func:`read_excel()` has deprecated ``parse_cols`` in favor of ``usecols`` for consistency with :func:`read_csv` (:issue:`4988`) - :func:`read_csv()` has deprecated the ``tupleize_cols`` argument. Column tuples will always be converted to a ``MultiIndex`` (:issue:`17060`) -- :meth:`DataFrame.to_csv` has deprecated the ``tupleize_cols`` argument. Multi-index columns will be always written as rows in the CSV file (:issue:`17060`) +- :meth:`DataFrame.to_csv` has deprecated the ``tupleize_cols`` argument. MultiIndex columns will be always written as rows in the CSV file (:issue:`17060`) - The ``convert`` parameter has been deprecated in the ``.take()`` method, as it was not being respected (:issue:`16948`) - ``pd.options.html.border`` has been deprecated in favor of ``pd.options.display.html.border`` (:issue:`15793`). - :func:`SeriesGroupBy.nth` has deprecated ``True`` in favor of ``'all'`` for its kwarg ``dropna`` (:issue:`11038`). diff --git a/doc/source/whatsnew/v0.21.1.txt b/doc/source/whatsnew/v0.21.1.txt index 2c147736d79a8..49e59c9ddf5a7 100644 --- a/doc/source/whatsnew/v0.21.1.txt +++ b/doc/source/whatsnew/v0.21.1.txt @@ -126,7 +126,7 @@ I/O - Bug in :meth:`DataFrame.to_msgpack` when serializing data of the ``numpy.bool_`` datatype (:issue:`18390`) - Bug in :func:`read_json` not decoding when reading line delimited JSON from S3 (:issue:`17200`) - Bug in :func:`pandas.io.json.json_normalize` to avoid modification of ``meta`` (:issue:`18610`) -- Bug in :func:`to_latex` where repeated multi-index values were not printed even though a higher level index differed from the previous row (:issue:`14484`) +- Bug in :func:`to_latex` where repeated MultiIndex values were not printed even though a higher level index differed from the previous row (:issue:`14484`) - Bug when reading NaN-only categorical columns in :class:`HDFStore` (:issue:`18413`) - Bug in :meth:`DataFrame.to_latex` with ``longtable=True`` where a latex multicolumn always spanned over three columns (:issue:`17959`)