Skip to content

Commit 6e5fe2d

Browse files
committed
Merge branch 'main' into improve-DataFrameGroupBy-value_counts-sort-parameter
2 parents 900f653 + d093fae commit 6e5fe2d

File tree

154 files changed

+1189
-493
lines changed

Some content is hidden

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

154 files changed

+1189
-493
lines changed

.circleci/config.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ jobs:
9191
name: Build aarch64 wheels
9292
no_output_timeout: 30m # Sometimes the tests won't generate any output, make sure the job doesn't get killed by that
9393
command: |
94-
pip3 install cibuildwheel==2.18.1
95-
cibuildwheel --prerelease-pythons --output-dir wheelhouse
94+
pip3 install cibuildwheel==2.20.0
95+
cibuildwheel --output-dir wheelhouse
9696
9797
environment:
9898
CIBW_BUILD: << parameters.cibw-build >>

.devcontainer.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
// Use 'settings' to set *default* container specific settings.json values on container create.
99
// You can edit these settings after create using File > Preferences > Settings > Remote.
1010
"settings": {
11-
"terminal.integrated.shell.linux": "/bin/bash",
1211
"python.pythonPath": "/usr/local/bin/python",
1312
"python.formatting.provider": "black",
1413
"python.linting.enabled": true,

.github/actions/setup-conda/action.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,9 @@ runs:
1414
condarc-file: ci/.condarc
1515
cache-environment: true
1616
cache-downloads: true
17+
18+
- name: Uninstall pyarrow
19+
if: ${{ env.REMOVE_PYARROW == '1' }}
20+
run: |
21+
micromamba remove -y pyarrow
22+
shell: bash -el {0}

.github/workflows/unit-tests.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ jobs:
2929
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml]
3030
# Prevent the include jobs from overriding other jobs
3131
pattern: [""]
32+
pandas_future_infer_string: ["0"]
3233
include:
3334
- name: "Downstream Compat"
3435
env_file: actions-311-downstream_compat.yaml
@@ -58,6 +59,9 @@ jobs:
5859
# It will be temporarily activated during tests with locale.setlocale
5960
extra_loc: "zh_CN"
6061
- name: "Future infer strings"
62+
env_file: actions-312.yaml
63+
pandas_future_infer_string: "1"
64+
- name: "Future infer strings (without pyarrow)"
6165
env_file: actions-311.yaml
6266
pandas_future_infer_string: "1"
6367
- name: "Pypy"
@@ -85,9 +89,10 @@ jobs:
8589
NPY_PROMOTION_STATE: ${{ matrix.env_file == 'actions-311-numpydev.yaml' && 'weak' || 'legacy' }}
8690
# Clipboard tests
8791
QT_QPA_PLATFORM: offscreen
92+
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
8893
concurrency:
8994
# https://github.community/t/concurrecy-not-work-for-push/183068/7
90-
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}}
95+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}
9196
cancel-in-progress: true
9297

9398
services:

.github/workflows/wheels.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ jobs:
162162
with:
163163
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
164164
env:
165-
CIBW_PRERELEASE_PYTHONS: True
166165
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
167166
CIBW_BUILD_FRONTEND: ${{ matrix.cibw_build_frontend || 'pip' }}
168167
CIBW_PLATFORM: ${{ matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide' || 'auto' }}

.gitpod.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ tasks:
1414
cp gitpod/settings.json .vscode/settings.json
1515
git fetch --tags
1616
python -m pip install -ve . --no-build-isolation --config-settings editable-verbose=true
17-
pre-commit install
17+
pre-commit install --install-hooks
1818
command: |
1919
python -m pip install -ve . --no-build-isolation --config-settings editable-verbose=true
2020
echo "✨ Pre-build complete! You can close this terminal ✨ "

Dockerfile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ FROM python:3.10.8
22
WORKDIR /home/pandas
33

44
RUN apt-get update && apt-get -y upgrade
5-
RUN apt-get install -y build-essential
5+
RUN apt-get install -y build-essential bash-completion
66

77
# hdf5 needed for pytables installation
88
# libgles2-mesa needed for pytest-qt
@@ -12,4 +12,6 @@ RUN python -m pip install --upgrade pip
1212
COPY requirements-dev.txt /tmp
1313
RUN python -m pip install -r /tmp/requirements-dev.txt
1414
RUN git config --global --add safe.directory /home/pandas
15+
16+
ENV SHELL "/bin/bash"
1517
CMD ["/bin/bash"]

ci/code_checks.sh

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
7070
--format=actions \
7171
-i ES01 `# For now it is ok if docstrings are missing the extended summary` \
7272
-i "pandas.Series.dt PR01" `# Accessors are implemented as classes, but we do not document the Parameters section` \
73-
-i "pandas.MultiIndex.get_loc_level PR07" \
7473
-i "pandas.MultiIndex.names SA01" \
7574
-i "pandas.MultiIndex.reorder_levels RT03,SA01" \
7675
-i "pandas.MultiIndex.sortlevel PR07,SA01" \
@@ -164,8 +163,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
164163
-i "pandas.Series.str.center RT03,SA01" \
165164
-i "pandas.Series.str.decode PR07,RT03,SA01" \
166165
-i "pandas.Series.str.encode PR07,RT03,SA01" \
167-
-i "pandas.Series.str.fullmatch RT03" \
168-
-i "pandas.Series.str.index RT03" \
169166
-i "pandas.Series.str.ljust RT03,SA01" \
170167
-i "pandas.Series.str.lower RT03" \
171168
-i "pandas.Series.str.lstrip RT03" \
@@ -174,7 +171,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
174171
-i "pandas.Series.str.partition RT03" \
175172
-i "pandas.Series.str.repeat SA01" \
176173
-i "pandas.Series.str.replace SA01" \
177-
-i "pandas.Series.str.rindex RT03" \
178174
-i "pandas.Series.str.rjust RT03,SA01" \
179175
-i "pandas.Series.str.rpartition RT03" \
180176
-i "pandas.Series.str.rstrip RT03" \
@@ -285,12 +281,9 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
285281
-i "pandas.api.types.is_iterator PR07,SA01" \
286282
-i "pandas.api.types.is_list_like SA01" \
287283
-i "pandas.api.types.is_named_tuple PR07,SA01" \
288-
-i "pandas.api.types.is_numeric_dtype SA01" \
289284
-i "pandas.api.types.is_object_dtype SA01" \
290-
-i "pandas.api.types.is_period_dtype SA01" \
291285
-i "pandas.api.types.is_re PR07,SA01" \
292286
-i "pandas.api.types.is_re_compilable PR07,SA01" \
293-
-i "pandas.api.types.is_timedelta64_ns_dtype SA01" \
294287
-i "pandas.api.types.pandas_dtype PR07,RT03,SA01" \
295288
-i "pandas.arrays.ArrowExtensionArray PR07,SA01" \
296289
-i "pandas.arrays.BooleanArray SA01" \

doc/source/development/contributing.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ If you are new to Git, you can reference some of these resources for learning Gi
7474
to the :ref:`contributor community <community>` for help if needed:
7575

7676
* `Git documentation <https://git-scm.com/doc>`_.
77-
* `Numpy's Git resources <https://numpy.org/doc/stable/dev/gitwash/git_resources.html>`_ tutorial.
7877

7978
Also, the project follows a forking workflow further described on this page whereby
8079
contributors fork the repository, make changes and then create a pull request.

doc/source/whatsnew/v3.0.0.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ Other enhancements
5050
- :meth:`DataFrame.pivot_table` and :func:`pivot_table` now allow the passing of keyword arguments to ``aggfunc`` through ``**kwargs`` (:issue:`57884`)
5151
- :meth:`Series.cummin` and :meth:`Series.cummax` now supports :class:`CategoricalDtype` (:issue:`52335`)
5252
- :meth:`Series.plot` now correctly handle the ``ylabel`` parameter for pie charts, allowing for explicit control over the y-axis label (:issue:`58239`)
53+
- :meth:`pandas.concat` will raise a ``ValueError`` when ``ignore_index=True`` and ``keys`` is not ``None`` (:issue:`59274`)
54+
- Multiplying two :class:`DateOffset` objects will now raise a ``TypeError`` instead of a ``RecursionError`` (:issue:`59442`)
5355
- Restore support for reading Stata 104-format and enable reading 103-format dta files (:issue:`58554`)
5456
- Support reading Stata 102-format (Stata 1) dta files (:issue:`58978`)
5557
- Support reading Stata 110-format (Stata 7) dta files (:issue:`47176`)
@@ -547,6 +549,7 @@ Strings
547549

548550
Interval
549551
^^^^^^^^
552+
- :meth:`Index.is_monotonic_decreasing`, :meth:`Index.is_monotonic_increasing`, and :meth:`Index.is_unique` could incorrectly be ``False`` for an ``Index`` created from a slice of another ``Index``. (:issue:`57911`)
550553
- Bug in :func:`interval_range` where start and end numeric types were always cast to 64 bit (:issue:`57268`)
551554
-
552555

@@ -609,12 +612,14 @@ Groupby/resample/rolling
609612
- Bug in :meth:`DataFrameGroupBy.agg` that raises ``AttributeError`` when there is dictionary input and duplicated columns, instead of returning a DataFrame with the aggregation of all duplicate columns. (:issue:`55041`)
610613
- Bug in :meth:`DataFrameGroupBy.apply` that was returning a completely empty DataFrame when all return values of ``func`` were ``None`` instead of returning an empty DataFrame with the original columns and dtypes. (:issue:`57775`)
611614
- Bug in :meth:`DataFrameGroupBy.apply` with ``as_index=False`` that was returning :class:`MultiIndex` instead of returning :class:`Index`. (:issue:`58291`)
615+
- Bug in :meth:`DataFrameGroupBy.cumsum` and :meth:`DataFrameGroupBy.cumprod` where ``numeric_only`` parameter was passed indirectly through kwargs instead of passing directly. (:issue:`58811`)
612616
- Bug in :meth:`DataFrameGroupBy.cumsum` where it did not return the correct dtype when the label contained ``None``. (:issue:`58811`)
613617
- Bug in :meth:`DataFrameGroupby.transform` and :meth:`SeriesGroupby.transform` with a reducer and ``observed=False`` that coerces dtype to float when there are unobserved categories. (:issue:`55326`)
614618
- Bug in :meth:`Rolling.apply` where the applied function could be called on fewer than ``min_period`` periods if ``method="table"``. (:issue:`58868`)
615619

616620
Reshaping
617621
^^^^^^^^^
622+
- Bug in :func:`qcut` where values at the quantile boundaries could be incorrectly assigned (:issue:`59355`)
618623
- Bug in :meth:`DataFrame.join` inconsistently setting result index name (:issue:`55815`)
619624
- Bug in :meth:`DataFrame.unstack` producing incorrect results when ``sort=False`` (:issue:`54987`, :issue:`55516`)
620625
- Bug in :meth:`DataFrame.unstack` producing incorrect results when manipulating empty :class:`DataFrame` with an :class:`ExtentionDtype` (:issue:`59123`)

0 commit comments

Comments
 (0)