Skip to content

Commit 0a0fea9

Browse files
Merge branch 'main' into missing-value-after-comparison
2 parents 7db229d + 01708f6 commit 0a0fea9

99 files changed

Lines changed: 8877 additions & 2643 deletions

File tree

Some content is hidden

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

.github/workflows/code-checks.yml

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,18 +53,10 @@ jobs:
5353
run: cd ci && ./code_checks.sh doctests
5454
if: ${{ steps.build.outcome == 'success' && always() }}
5555

56-
- name: Check for no warnings when building single-page docs
57-
run: ci/code_checks.sh single-docs
58-
if: ${{ steps.build.outcome == 'success' && always() }}
59-
6056
- name: Run checks on imported code
6157
run: ci/code_checks.sh code
6258
if: ${{ steps.build.outcome == 'success' && always() }}
6359

64-
- name: Run check of documentation notebooks
65-
run: ci/code_checks.sh notebooks
66-
if: ${{ steps.build.outcome == 'success' && always() }}
67-
6860
- name: Use existing environment for type checking
6961
run: |
7062
echo $PATH >> $GITHUB_PATH

.github/workflows/codeql.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ jobs:
2727

2828
steps:
2929
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
30-
- uses: github/codeql-action/init@c10b8064de6f491fea524254123dbe5e09572f13 # v4
30+
- uses: github/codeql-action/init@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4
3131
with:
3232
languages: ${{ matrix.language }}
33-
- uses: github/codeql-action/autobuild@c10b8064de6f491fea524254123dbe5e09572f13 # v4
34-
- uses: github/codeql-action/analyze@c10b8064de6f491fea524254123dbe5e09572f13 # v4
33+
- uses: github/codeql-action/autobuild@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4
34+
- uses: github/codeql-action/analyze@95e58e9a2cdfd71adc6e0353d5c52f41a045d225 # v4

.github/workflows/docbuild-and-upload.yml

Lines changed: 53 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ on:
2222
type: boolean
2323
default: false
2424

25-
env:
26-
ENV_FILE: environment.yml
25+
defaults:
26+
run:
27+
shell: bash -euox pipefail {0}
2728

2829
permissions: {}
2930

@@ -39,10 +40,6 @@ jobs:
3940
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-web-docs
4041
cancel-in-progress: true
4142

42-
defaults:
43-
run:
44-
shell: bash -el {0}
45-
4643
steps:
4744
- name: Set pandas version
4845
env:
@@ -60,6 +57,8 @@ jobs:
6057
elif [[ "$EVENT_NAME" == "push" && "$GITHUB_REF_NAME" =~ $tag_version_pat ]]; then
6158
PANDAS_VERSION="${GITHUB_REF_NAME:1}"
6259
echo "PANDAS_VERSION=$PANDAS_VERSION" >> "$GITHUB_ENV"
60+
else
61+
PANDAS_VERSION=""
6362
fi
6463
6564
if [[ "$EVENT_NAME" == "push" && -n "$PANDAS_VERSION" ]]; then
@@ -83,33 +82,68 @@ jobs:
8382
with:
8483
fetch-depth: 0
8584

86-
- name: Set up Conda
87-
uses: ./.github/actions/setup-conda
88-
89-
- name: Build Pandas
90-
uses: ./.github/actions/build_pandas
85+
- name: Create virtual environment with Pixi
86+
uses: ./.github/actions/setup-pixi
87+
with:
88+
environment: docs-and-web
9189

92-
- name: Extra installs
93-
# https://pytest-qt.readthedocs.io/en/latest/troubleshooting.html#github-actions-azure-pipelines-travis-ci-and-gitlab-ci-cd
94-
run: sudo apt-get update && sudo apt-get install -y libegl1 libopengl0
90+
- name: Build pandas
91+
run: |
92+
pixi run \
93+
--environment docs-and-web \
94+
build-pandas \
95+
--editable \
96+
-Csetup-args="--werror"
9597
9698
- name: Test website
97-
run: python -m pytest web/
99+
run: |
100+
pixi run \
101+
--environment docs-and-web \
102+
ci-test-website
103+
104+
- name: Test build single page doc
105+
run: |
106+
pixi run \
107+
--environment docs-and-web \
108+
ci-test-single-page-doc pandas.Series.value_counts
109+
pixi run \
110+
--environment docs-and-web \
111+
ci-test-single-page-doc pandas.Series.str.split
112+
113+
- name: Test nbconvert doc notebooks
114+
run: |
115+
pixi run \
116+
--environment docs-and-web \
117+
ci-test-nbconvert-doc-notebooks "$(find doc/source -name '*.ipynb')"
98118
99119
- name: Build website
100-
run: python web/pandas_web.py web/pandas --target-path=web/build
120+
run: |
121+
pixi run \
122+
--environment docs-and-web \
123+
ci-build-website
101124
env:
102125
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
103126

104127
- name: Build documentation
105-
run: doc/make.py --warnings-are-errors
128+
run: |
129+
pixi run \
130+
--environment docs-and-web \
131+
ci-build-documentation \
132+
html
106133
107134
- name: Build the interactive terminal
108135
working-directory: web/interactive_terminal
109-
run: jupyter lite build
136+
run: |
137+
pixi run \
138+
--environment docs-and-web \
139+
ci-build-interactive_terminal
110140
111141
- name: Build documentation zip
112-
run: doc/make.py zip_html
142+
run: |
143+
pixi run \
144+
--environment docs-and-web \
145+
ci-build-documentation \
146+
zip_html
113147
114148
- name: Install ssh key
115149
run: |

.github/workflows/unit-tests.yml

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ jobs:
247247
--environment ${{ matrix.environment }} \
248248
build-pandas \
249249
--editable \
250-
-Csetup-args="--werror"
250+
"${{ matrix.os == 'windows-2025' && '-Csetup-args="--vsenv" -Csetup-args="--werror"' || '-Csetup-args="--werror"' }}"
251251
shell: bash -euox pipefail {0}
252252

253253
- name: Test
@@ -339,6 +339,33 @@ jobs:
339339
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-musl
340340
cancel-in-progress: true
341341

342+
Windows-MinGW:
343+
runs-on: windows-2025
344+
permissions:
345+
contents: read
346+
steps:
347+
- name: Checkout
348+
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
349+
with:
350+
fetch-depth: 0
351+
352+
- name: Create virtual environment with Pixi
353+
uses: ./.github/actions/setup-pixi
354+
with:
355+
environment: mingw
356+
357+
- name: Build pandas
358+
id: build
359+
run: |
360+
pixi run \
361+
--environment mingw \
362+
build-pandas \
363+
--editable \
364+
-Csetup-args="--werror"
365+
concurrency:
366+
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-mingw
367+
cancel-in-progress: true
368+
342369
python-dev:
343370
# This job may or may not run depending on the state of the next
344371
# unreleased Python version. DO NOT DELETE IT.
@@ -447,7 +474,7 @@ jobs:
447474
pyodide build
448475
449476
- name: Set up Node.js
450-
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6
477+
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6
451478
with:
452479
node-version: '20'
453480

ci/code_checks.sh

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
# $ ./ci/code_checks.sh # run all checks
1010
# $ ./ci/code_checks.sh code # checks on imported code
1111
# $ ./ci/code_checks.sh doctests # run doctests
12-
# $ ./ci/code_checks.sh single-docs # check single-page docs build warning-free
13-
# $ ./ci/code_checks.sh notebooks # check execution of documentation notebooks
1412

1513
set -uo pipefail
1614

@@ -21,8 +19,8 @@ else
2119
CHECK=""
2220
fi
2321

24-
[[ -z "$CHECK" || "$CHECK" == "code" || "$CHECK" == "doctests" || "$CHECK" == "single-docs" || "$CHECK" == "notebooks" ]] || \
25-
{ echo "Unknown command $1. Usage: $0 [code|doctests|single-docs|notebooks]"; exit 1; }
22+
[[ -z "$CHECK" || "$CHECK" == "code" || "$CHECK" == "doctests" ]] || \
23+
{ echo "Unknown command $1. Usage: $0 [code|doctests]"; exit 1; }
2624

2725
RET=0
2826

@@ -60,19 +58,4 @@ if [[ -z "$CHECK" || "$CHECK" == "doctests" ]]; then
6058

6159
fi
6260

63-
### DOCUMENTATION NOTEBOOKS ###
64-
if [[ -z "$CHECK" || "$CHECK" == "notebooks" ]]; then
65-
66-
MSG='Notebooks' ; echo $MSG
67-
jupyter nbconvert --execute "$(find doc/source -name '*.ipynb')" --to notebook
68-
RET=$(($RET + $?)) ; echo $MSG "DONE"
69-
70-
fi
71-
72-
### SINGLE-PAGE DOCS ###
73-
if [[ -z "$CHECK" || "$CHECK" == "single-docs" ]]; then
74-
python doc/make.py --warnings-are-errors --no-browser --single pandas.Series.value_counts
75-
python doc/make.py --warnings-are-errors --no-browser --single pandas.Series.str.split
76-
fi
77-
7861
exit $RET

doc/source/conf.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -761,11 +761,9 @@ def _pandas_validate(obj_name, validator_cls=None, **validator_kwargs):
761761

762762
if include_api:
763763
intersphinx_mapping = {
764-
"dateutil": ("https://dateutil.readthedocs.io/en/latest/", None),
765764
"matplotlib": ("https://matplotlib.org/stable/", None),
766765
"numpy": ("https://numpy.org/doc/stable/", None),
767766
"python": ("https://docs.python.org/3/", None),
768-
"scipy": ("https://docs.scipy.org/doc/scipy/", None),
769767
"pyarrow": ("https://arrow.apache.org/docs/", None),
770768
}
771769

doc/source/user_guide/basics.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1628,7 +1628,7 @@ This enables nice expressions like this:
16281628
16291629
s[s.dt.day == 2]
16301630
1631-
You can easily produces tz aware transformations:
1631+
You can easily produce tz aware transformations:
16321632

16331633
.. ipython:: python
16341634

doc/source/user_guide/options.rst

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -307,17 +307,13 @@ Number formatting
307307
------------------
308308

309309
pandas also allows you to set how numbers are displayed in the console.
310-
This option is not set through the ``set_options`` API.
311-
312-
Use the ``set_eng_float_format`` function
313-
to alter the floating-point formatting of pandas objects to produce a particular
314-
format.
310+
Use ``display.precision`` to control the number of decimal places:
315311

316312
.. ipython:: python
317313
318314
import numpy as np
319315
320-
pd.set_eng_float_format(accuracy=3, use_eng_prefix=True)
316+
pd.set_option("display.precision", 2)
321317
s = pd.Series(np.random.randn(5), index=["a", "b", "c", "d", "e"])
322318
s / 1.0e3
323319
s / 1.0e6

doc/source/user_guide/reshaping.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ are homogeneously-typed.
7878
.. note::
7979

8080
:func:`~pandas.pivot` can only handle unique rows specified by ``index`` and ``columns``.
81-
If you data contains duplicates, use :func:`~pandas.pivot_table`.
81+
If your data contains duplicates, use :func:`~pandas.pivot_table`.
8282

8383

8484
.. _reshaping.pivot:

doc/source/whatsnew/v3.0.3.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Fixed regressions
1515
~~~~~~~~~~~~~~~~~
1616

1717
- Fixed reading of Parquet files with timezone-aware timestamps or localizing of a timeseries with a ``pytz`` timezone when an older version of ``pytz`` was installed (:issue:`64978`)
18+
- Fixed regression in :func:`to_timedelta` ignoring the ``unit`` argument for round float values when mixed with non-round floats in a list (:issue:`65150`)
19+
- Fixed regression in :meth:`Series.rank` with custom extension dtypes (:issue:`64976`)
1820
- Fixed regression in :meth:`Timedelta.round`, :meth:`Timedelta.floor`, and :meth:`Timedelta.ceil` raising ``ZeroDivisionError`` for sub-second ``freq`` (:issue:`64828`)
1921

2022
.. ---------------------------------------------------------------------------
@@ -26,6 +28,7 @@ Bug fixes
2628
- Fixed :class:`ArrowDtype` string arithmetic for addition between ``string`` and ``large_string`` typed arrays (:issue:`65220`)
2729
- Fixed a bug in adding missing values (e.g. :attr:`NA`) to a pyarrow-backed string array or Series
2830
raising an error instead of propagating the missing value (:issue:`64968`)
31+
- Fixed a bug in :meth:`Series.rank` with period dtype and missing values, always sorting missing values at the top, regardless of the ``na_option`` value (:issue:`64976`)
2932

3033
.. ---------------------------------------------------------------------------
3134
.. _whatsnew_303.contributors:

0 commit comments

Comments
 (0)