Skip to content

Commit 7efece2

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fu1+sort
2 parents 35a8977 + 13ae107 commit 7efece2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+6098
-2739
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ dist
6161
.coverage
6262
coverage.xml
6363
coverage_html_report
64+
*.pytest_cache
6465

6566
# OS generated files #
6667
######################
@@ -90,7 +91,6 @@ scikits
9091

9192
# Unit / Performance Testing #
9293
##############################
93-
.pytest_cache/
9494
asv_bench/env/
9595
asv_bench/html/
9696
asv_bench/results/

ci/build_docs.sh

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ echo "inside $0"
1010

1111
git show --pretty="format:" --name-only HEAD~5.. --first-parent | grep -P "rst|txt|doc"
1212

13-
if [ "$?" != "0" ]; then
14-
echo "Skipping doc build, none were modified"
15-
# nope, skip docs build
16-
exit 0
17-
fi
13+
# if [ "$?" != "0" ]; then
14+
# echo "Skipping doc build, none were modified"
15+
# # nope, skip docs build
16+
# exit 0
17+
# fi
1818

1919

2020
if [ "$DOC" ]; then

ci/requirements-2.7_COMPAT.pip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
html5lib==1.0b2
2-
beautifulsoup4==4.2.0
2+
beautifulsoup4==4.2.1
33
openpyxl
44
argparse

ci/requirements-optional-conda.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
beautifulsoup4
1+
beautifulsoup4>=4.2.1
22
blosc
33
bottleneck
44
fastparquet

ci/requirements-optional-pip.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This file was autogenerated by scripts/convert_deps.py
22
# Do not modify directly
3-
beautifulsoup4
3+
beautifulsoup4>=4.2.1
44
blosc
55
bottleneck
66
fastparquet

doc/cheatsheet/Pandas_Cheat_Sheet.pdf

160 KB
Binary file not shown.
-71.3 KB
Binary file not shown.

doc/source/contributing.rst

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -246,16 +246,16 @@ changes in this branch specific to one bug or feature so it is clear
246246
what the branch brings to *pandas*. You can have many shiny-new-features
247247
and switch in between them using the git checkout command.
248248

249-
To update this branch, you need to retrieve the changes from the master branch::
249+
When creating this branch, make sure your master branch is up to date with
250+
the latest upstream master version. To update your local master branch, you
251+
can do::
250252

251-
git fetch upstream
252-
git rebase upstream/master
253+
git checkout master
254+
git pull upstream master --ff-only
253255

254-
This will replay your commits on top of the latest pandas git master. If this
255-
leads to merge conflicts, you must resolve these before submitting your pull
256-
request. If you have uncommitted changes, you will need to ``stash`` them prior
257-
to updating. This will effectively store your changes and they can be reapplied
258-
after updating.
256+
When you want to update the feature branch with changes in master after
257+
you created the branch, check the section on
258+
:ref:`updating a PR <contributing.update-pr>`.
259259

260260
.. _contributing.documentation:
261261

@@ -964,32 +964,6 @@ Now you can commit your changes in your local repository::
964964
965965
git commit -m
966966
967-
Combining commits
968-
-----------------
969-
970-
If you have multiple commits, you may want to combine them into one commit, often
971-
referred to as "squashing" or "rebasing". This is a common request by package maintainers
972-
when submitting a pull request as it maintains a more compact commit history. To rebase
973-
your commits::
974-
975-
git rebase -i HEAD~#
976-
977-
Where # is the number of commits you want to combine. Then you can pick the relevant
978-
commit message and discard others.
979-
980-
To squash to the master branch do::
981-
982-
git rebase -i master
983-
984-
Use the ``s`` option on a commit to ``squash``, meaning to keep the commit messages,
985-
or ``f`` to ``fixup``, meaning to merge the commit messages.
986-
987-
Then you will need to push the branch (see below) forcefully to replace the current
988-
commits with the new ones::
989-
990-
git push origin shiny-new-feature -f
991-
992-
993967
Pushing your changes
994968
--------------------
995969
@@ -1045,15 +1019,51 @@ release. To submit a pull request:
10451019
#. Click ``Send Pull Request``.
10461020
10471021
This request then goes to the repository maintainers, and they will review
1048-
the code. If you need to make more changes, you can make them in
1049-
your branch, push them to GitHub, and the pull request will be automatically
1050-
updated. Pushing them to GitHub again is done by::
1022+
the code.
1023+
1024+
.. _contributing.update-pr:
10511025
1052-
git push -f origin shiny-new-feature
1026+
Updating your pull request
1027+
--------------------------
1028+
1029+
Based on the review you get on your pull request, you will probably need to make
1030+
some changes to the code. In that case, you can make them in your branch,
1031+
add a new commit to that branch, push it to GitHub, and the pull request will be
1032+
automatically updated. Pushing them to GitHub again is done by::
1033+
1034+
git push origin shiny-new-feature
10531035
10541036
This will automatically update your pull request with the latest code and restart the
10551037
:ref:`Continuous Integration <contributing.ci>` tests.
10561038
1039+
Another reason you might need to update your pull request is to solve conflicts
1040+
with changes that have been merged into the master branch since you opened your
1041+
pull request.
1042+
1043+
To do this, you need to "merge upstream master" in your branch::
1044+
1045+
git checkout shiny-new-feature
1046+
git fetch upstream
1047+
git merge upstream/master
1048+
1049+
If there are no conflicts (or they could be fixed automatically), a file with a
1050+
default commit message will open, and you can simply save and quit this file.
1051+
1052+
If there are merge conflicts, you need to solve those conflicts. See for
1053+
example at https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/
1054+
for an explanation on how to do this.
1055+
Once the conflicts are merged and the files where the conflicts were solved are
1056+
added, you can run ``git commit`` to save those fixes.
1057+
1058+
If you have uncommitted changes at the moment you want to update the branch with
1059+
master, you will need to ``stash`` them prior to updating (see the
1060+
`stash docs <https://git-scm.com/book/en/v2/Git-Tools-Stashing-and-Cleaning>`__).
1061+
This will effectively store your changes and they can be reapplied after updating.
1062+
1063+
After the feature branch has been update locally, you can now update your pull
1064+
request by pushing to the branch on GitHub::
1065+
1066+
git push origin shiny-new-feature
10571067
10581068
Delete your merged branch (optional)
10591069
------------------------------------

doc/source/install.rst

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,12 @@ Optional Dependencies
266266
* One of the following combinations of libraries is needed to use the
267267
top-level :func:`~pandas.read_html` function:
268268

269+
.. versionchanged:: 0.23.0
270+
271+
.. note::
272+
273+
If using BeautifulSoup4 a minimum version of 4.2.1 is required
274+
269275
* `BeautifulSoup4`_ and `html5lib`_ (Any recent version of `html5lib`_ is
270276
okay.)
271277
* `BeautifulSoup4`_ and `lxml`_
@@ -282,9 +288,6 @@ Optional Dependencies
282288
* You are highly encouraged to read :ref:`HTML Table Parsing gotchas <io.html.gotchas>`.
283289
It explains issues surrounding the installation and
284290
usage of the above three libraries.
285-
* You may need to install an older version of `BeautifulSoup4`_:
286-
Versions 4.2.1, 4.1.3 and 4.0.2 have been confirmed for 64 and 32-bit
287-
Ubuntu/Debian
288291

289292
.. note::
290293

doc/source/tutorials.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ pandas' own :ref:`10 Minutes to pandas<10min>`.
1313

1414
More complex recipes are in the :ref:`Cookbook<cookbook>`.
1515

16+
A handy pandas `cheat sheet <http://pandas.pydata.org/Pandas_Cheat_Sheet.pdf>`_.
17+
1618
pandas Cookbook
1719
---------------
1820

doc/source/whatsnew/v0.23.0.txt

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -358,13 +358,15 @@ Dependencies have increased minimum versions
358358
We have updated our minimum supported versions of dependencies (:issue:`15184`).
359359
If installed, we now require:
360360

361-
+-----------------+-----------------+----------+
362-
| Package | Minimum Version | Required |
363-
+=================+=================+==========+
364-
| python-dateutil | 2.5.0 | X |
365-
+-----------------+-----------------+----------+
366-
| openpyxl | 2.4.0 | |
367-
+-----------------+-----------------+----------+
361+
+-----------------+-----------------+----------+---------------+
362+
| Package | Minimum Version | Required | Issue |
363+
+=================+=================+==========+===============+
364+
| python-dateutil | 2.5.0 | X | :issue:`15184`|
365+
+-----------------+-----------------+----------+---------------+
366+
| openpyxl | 2.4.0 | | :issue:`15184`|
367+
+-----------------+-----------------+----------+---------------+
368+
| beautifulsoup4 | 4.2.1 | | :issue:`20082`|
369+
+-----------------+-----------------+----------+---------------+
368370

369371
.. _whatsnew_0230.api_breaking.dict_insertion_order:
370372

@@ -711,6 +713,7 @@ Other API Changes
711713
- ``Categorical.fillna`` now validates its ``value`` and ``method`` keyword arguments. It now raises when both or none are specified, matching the behavior of :meth:`Series.fillna` (:issue:`19682`)
712714
- ``pd.to_datetime('today')`` now returns a datetime, consistent with ``pd.Timestamp('today')``; previously ``pd.to_datetime('today')`` returned a ``.normalized()`` datetime (:issue:`19935`)
713715
- :func:`Series.str.replace` now takes an optional `regex` keyword which, when set to ``False``, uses literal string replacement rather than regex replacement (:issue:`16808`)
716+
- :func:`DatetimeIndex.strftime` and :func:`PeriodIndex.strftime` now return an ``Index`` instead of a numpy array to be consistent with similar accessors (:issue:`20127`)
714717

715718
.. _whatsnew_0230.deprecations:
716719

@@ -736,6 +739,7 @@ Deprecations
736739
- :attr:`Timestamp.weekday_name`, :attr:`DatetimeIndex.weekday_name`, and :attr:`Series.dt.weekday_name` are deprecated in favor of :meth:`Timestamp.day_name`, :meth:`DatetimeIndex.day_name`, and :meth:`Series.dt.day_name` (:issue:`12806`)
737740

738741
- ``pandas.tseries.plotting.tsplot`` is deprecated. Use :func:`Series.plot` instead (:issue:`18627`)
742+
- ``Index.summary()`` is deprecated and will be removed in a future version (:issue:`18217`)
739743

740744
.. _whatsnew_0230.prior_deprecations:
741745

@@ -841,6 +845,9 @@ Categorical
841845
- Bug in :meth:`Series.astype` and ``Categorical.astype()`` where an existing categorical data does not get updated (:issue:`10696`, :issue:`18593`)
842846
- Bug in :class:`Index` constructor with ``dtype=CategoricalDtype(...)`` where ``categories`` and ``ordered`` are not maintained (issue:`19032`)
843847
- Bug in :class:`Series` constructor with scalar and ``dtype=CategoricalDtype(...)`` where ``categories`` and ``ordered`` are not maintained (issue:`19565`)
848+
- Bug in ``Categorical.__iter__`` not converting to Python types (:issue:`19909`)
849+
- Bug in :func:`pandas.factorize` returning the unique codes for the ``uniques``. This now returns a ``Categorical`` with the same dtype as the input (:issue:`19721`)
850+
- Bug in :func:`pandas.factorize` including an item for missing values in the ``uniques`` return value (:issue:`19721`)
844851

845852
Datetimelike
846853
^^^^^^^^^^^^
@@ -937,6 +944,7 @@ Indexing
937944
- Bug in :class:`IntervalIndex` where set operations that returned an empty ``IntervalIndex`` had the wrong dtype (:issue:`19101`)
938945
- Bug in :meth:`DataFrame.drop_duplicates` where no ``KeyError`` is raised when passing in columns that don't exist on the ``DataFrame`` (issue:`19726`)
939946
- Bug in ``Index`` subclasses constructors that ignore unexpected keyword arguments (:issue:`19348`)
947+
- Bug in :meth:`Index.difference` when taking difference of an ``Index`` with itself (:issue:`20040`)
940948

941949

942950
MultiIndex

0 commit comments

Comments
 (0)