Skip to content

Commit 59c924f

Browse files
authored
Merge branch 'pandas-dev:main' into fix_55490
2 parents dd9e2ce + 337d40e commit 59c924f

File tree

151 files changed

+2254
-1225
lines changed

Some content is hidden

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

151 files changed

+2254
-1225
lines changed

.github/CODEOWNERS

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ doc/cheatsheet @Dr-Irv
99
doc/source/development @noatamir
1010

1111
# pandas
12-
pandas/_libs/ @WillAyd
1312
pandas/_typing.py @Dr-Irv
1413
pandas/core/groupby/* @rhshadrach
1514
pandas/io/excel/* @rhshadrach

.github/ISSUE_TEMPLATE/feature_request.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ body:
3131
attributes:
3232
label: Feature Description
3333
description: >
34-
Please describe how the new feature would be implemented, using psudocode if relevant.
34+
Please describe how the new feature would be implemented, using pseudocode if relevant.
3535
placeholder: >
3636
Add a new parameter to DataFrame, to_series, to return a Series if possible.
3737

.github/workflows/unit-tests.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
strategy:
2828
matrix:
2929
platform: [ubuntu-22.04, ubuntu-24.04-arm]
30-
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml]
30+
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml]
3131
# Prevent the include jobs from overriding other jobs
3232
pattern: [""]
3333
pandas_future_infer_string: ["0"]
@@ -188,7 +188,7 @@ jobs:
188188
matrix:
189189
# Note: Don't use macOS latest since macos 14 appears to be arm64 only
190190
os: [macos-13, macos-14, windows-latest]
191-
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml]
191+
env_file: [actions-310.yaml, actions-311.yaml, actions-312.yaml, actions-313.yaml]
192192
fail-fast: false
193193
runs-on: ${{ matrix.os }}
194194
name: ${{ format('{0} {1}', matrix.os, matrix.env_file) }}
@@ -316,7 +316,7 @@ jobs:
316316
# To freeze this file, uncomment out the ``if: false`` condition, and migrate the jobs
317317
# to the corresponding posix/windows-macos/sdist etc. workflows.
318318
# Feel free to modify this comment as necessary.
319-
# if: false # Uncomment this to freeze the workflow, comment it to unfreeze
319+
if: false
320320
defaults:
321321
run:
322322
shell: bash -eou pipefail {0}

.github/workflows/wheels.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ jobs:
153153
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
154154

155155
- name: Build wheels
156-
uses: pypa/[email protected].1
156+
uses: pypa/[email protected].3
157157
with:
158158
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
159159
env:

.pre-commit-config.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
minimum_pre_commit_version: 2.15.0
1+
minimum_pre_commit_version: 4.0.0
22
exclude: ^LICENSES/|\.(html|csv|svg)$
33
# reserve "manual" for relatively slow hooks which we still want to run in CI
44
default_stages: [
@@ -19,13 +19,13 @@ ci:
1919
skip: [pyright, mypy]
2020
repos:
2121
- repo: https://github.com/astral-sh/ruff-pre-commit
22-
rev: v0.9.9
22+
rev: v0.11.4
2323
hooks:
2424
- id: ruff
2525
args: [--exit-non-zero-on-fix]
2626
exclude: ^pandas/tests/frame/test_query_eval.py
2727
- id: ruff
28-
# TODO: remove autofixe-only rules when they are checked by ruff
28+
# TODO: remove autofix only rules when they are checked by ruff
2929
name: ruff-selected-autofixes
3030
alias: ruff-selected-autofixes
3131
files: ^pandas
@@ -34,7 +34,7 @@ repos:
3434
- id: ruff-format
3535
exclude: ^scripts|^pandas/tests/frame/test_query_eval.py
3636
- repo: https://github.com/jendrikseipp/vulture
37-
rev: 'v2.14'
37+
rev: v2.14
3838
hooks:
3939
- id: vulture
4040
entry: python scripts/run_vulture.py
@@ -95,14 +95,14 @@ repos:
9595
- id: sphinx-lint
9696
args: ["--enable", "all", "--disable", "line-too-long"]
9797
- repo: https://github.com/pre-commit/mirrors-clang-format
98-
rev: v19.1.7
98+
rev: v20.1.0
9999
hooks:
100100
- id: clang-format
101101
files: ^pandas/_libs/src|^pandas/_libs/include
102102
args: [-i]
103103
types_or: [c, c++]
104104
- repo: https://github.com/trim21/pre-commit-mirror-meson
105-
rev: v1.7.0
105+
rev: v1.7.2
106106
hooks:
107107
- id: meson-fmt
108108
args: ['--inplace']

asv_bench/benchmarks/frame_methods.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,7 @@ def setup(self):
517517
self.df = DataFrame(np.random.randn(1000, 100))
518518

519519
self.s = Series(np.arange(1028.0))
520-
self.df2 = DataFrame({i: self.s for i in range(1028)})
520+
self.df2 = DataFrame(dict.fromkeys(range(1028), self.s))
521521
self.df3 = DataFrame(np.random.randn(1000, 3), columns=list("ABC"))
522522

523523
def time_apply_user_func(self):

asv_bench/benchmarks/indexing_engines.py

+16
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,14 @@ class NumericEngineIndexing:
6767
def setup(self, engine_and_dtype, index_type, unique, N):
6868
engine, dtype = engine_and_dtype
6969

70+
if (
71+
index_type == "non_monotonic"
72+
and dtype in [np.int16, np.int8, np.uint8]
73+
and unique
74+
):
75+
# Values overflow
76+
raise NotImplementedError
77+
7078
if index_type == "monotonic_incr":
7179
if unique:
7280
arr = np.arange(N * 3, dtype=dtype)
@@ -115,6 +123,14 @@ def setup(self, engine_and_dtype, index_type, unique, N):
115123
engine, dtype = engine_and_dtype
116124
dtype = dtype.lower()
117125

126+
if (
127+
index_type == "non_monotonic"
128+
and dtype in ["int16", "int8", "uint8"]
129+
and unique
130+
):
131+
# Values overflow
132+
raise NotImplementedError
133+
118134
if index_type == "monotonic_incr":
119135
if unique:
120136
arr = np.arange(N * 3, dtype=dtype)

ci/code_checks.sh

-3
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
7272
-i "pandas.Series.dt PR01" `# Accessors are implemented as classes, but we do not document the Parameters section` \
7373
-i "pandas.Period.freq GL08" \
7474
-i "pandas.Period.ordinal GL08" \
75-
-i "pandas.Timestamp.max PR02" \
76-
-i "pandas.Timestamp.min PR02" \
77-
-i "pandas.Timestamp.resolution PR02" \
7875
-i "pandas.core.groupby.DataFrameGroupBy.plot PR02" \
7976
-i "pandas.core.groupby.SeriesGroupBy.plot PR02" \
8077
-i "pandas.core.resample.Resampler.quantile PR01,PR07" \

ci/deps/actions-310-minimum_versions.yaml

+16-16
Original file line numberDiff line numberDiff line change
@@ -25,39 +25,39 @@ dependencies:
2525
- numpy=1.23.5
2626

2727
# optional dependencies
28-
- beautifulsoup4=4.11.2
28+
- beautifulsoup4=4.12.3
2929
- blosc=1.21.3
3030
- bottleneck=1.3.6
31-
- fastparquet=2023.10.0
32-
- fsspec=2022.11.0
31+
- fastparquet=2024.2.0
32+
- fsspec=2024.2.0
3333
- html5lib=1.1
3434
- hypothesis=6.84.0
35-
- gcsfs=2022.11.0
36-
- jinja2=3.1.2
35+
- gcsfs=2024.2.0
36+
- jinja2=3.1.3
3737
- lxml=4.9.2
38-
- matplotlib=3.6.3
39-
- numba=0.56.4
40-
- numexpr=2.8.4
38+
- matplotlib=3.8.3
39+
- numba=0.59.0
40+
- numexpr=2.9.0
4141
- odfpy=1.4.1
4242
- qtpy=2.3.0
43-
- openpyxl=3.1.0
43+
- openpyxl=3.1.2
4444
- psycopg2=2.9.6
4545
- pyarrow=10.0.1
46-
- pymysql=1.0.2
46+
- pymysql=1.1.0
4747
- pyqt=5.15.9
48-
- pyreadstat=1.2.0
48+
- pyreadstat=1.2.6
4949
- pytables=3.8.0
5050
- python-calamine=0.1.7
5151
- pytz=2023.4
5252
- pyxlsb=1.0.10
53-
- s3fs=2022.11.0
54-
- scipy=1.10.0
53+
- s3fs=2024.2.0
54+
- scipy=1.12.0
5555
- sqlalchemy=2.0.0
5656
- tabulate=0.9.0
57-
- xarray=2022.12.0
57+
- xarray=2024.1.1
5858
- xlrd=2.0.1
59-
- xlsxwriter=3.0.5
60-
- zstandard=0.19.0
59+
- xlsxwriter=3.2.0
60+
- zstandard=0.22.0
6161

6262
- pip:
6363
- adbc-driver-postgresql==0.10.0

ci/deps/actions-310.yaml

+16-16
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,39 @@ dependencies:
2323
- numpy
2424

2525
# optional dependencies
26-
- beautifulsoup4>=4.11.2
26+
- beautifulsoup4>=4.12.3
2727
- blosc>=1.21.3
2828
- bottleneck>=1.3.6
29-
- fastparquet>=2023.10.0
30-
- fsspec>=2022.11.0
29+
- fastparquet>=2024.2.0
30+
- fsspec>=2024.2.0
3131
- html5lib>=1.1
3232
- hypothesis>=6.84.0
33-
- gcsfs>=2022.11.0
34-
- jinja2>=3.1.2
33+
- gcsfs>=2024.2.0
34+
- jinja2>=3.1.3
3535
- lxml>=4.9.2
36-
- matplotlib>=3.6.3
37-
- numba>=0.56.4
38-
- numexpr>=2.8.4
36+
- matplotlib>=3.8.3
37+
- numba>=0.59.0
38+
- numexpr>=2.9.0
3939
- odfpy>=1.4.1
4040
- qtpy>=2.3.0
41-
- openpyxl>=3.1.0
41+
- openpyxl>=3.1.2
4242
- psycopg2>=2.9.6
4343
- pyarrow>=10.0.1
44-
- pymysql>=1.0.2
44+
- pymysql>=1.1.0
4545
- pyqt>=5.15.9
46-
- pyreadstat>=1.2.0
46+
- pyreadstat>=1.2.6
4747
- pytables>=3.8.0
4848
- python-calamine>=0.1.7
4949
- pytz>=2023.4
5050
- pyxlsb>=1.0.10
51-
- s3fs>=2022.11.0
52-
- scipy>=1.10.0
51+
- s3fs>=2024.2.0
52+
- scipy>=1.12.0
5353
- sqlalchemy>=2.0.0
5454
- tabulate>=0.9.0
55-
- xarray>=2022.12.0, <=2024.9.0
55+
- xarray>=2024.1.1, <=2024.9.0
5656
- xlrd>=2.0.1
57-
- xlsxwriter>=3.0.5
58-
- zstandard>=0.19.0
57+
- xlsxwriter>=3.2.0
58+
- zstandard>=0.22.0
5959

6060
- pip:
6161
- adbc-driver-postgresql>=0.10.0

ci/deps/actions-311-downstream_compat.yaml

+16-16
Original file line numberDiff line numberDiff line change
@@ -24,39 +24,39 @@ dependencies:
2424
- numpy
2525

2626
# optional dependencies
27-
- beautifulsoup4>=4.11.2
27+
- beautifulsoup4>=4.12.3
2828
- blosc>=1.21.3
2929
- bottleneck>=1.3.6
30-
- fastparquet>=2023.10.0
31-
- fsspec>=2022.11.0
30+
- fastparquet>=2024.2.0
31+
- fsspec>=2024.2.0
3232
- html5lib>=1.1
3333
- hypothesis>=6.84.0
34-
- gcsfs>=2022.11.0
35-
- jinja2>=3.1.2
34+
- gcsfs>=2024.2.0
35+
- jinja2>=3.1.3
3636
- lxml>=4.9.2
37-
- matplotlib>=3.6.3
38-
- numba>=0.56.4
39-
- numexpr>=2.8.4
37+
- matplotlib>=3.8.3
38+
- numba>=0.59.0
39+
- numexpr>=2.9.0
4040
- odfpy>=1.4.1
4141
- qtpy>=2.3.0
42-
- openpyxl>=3.1.0
42+
- openpyxl>=3.1.2
4343
- psycopg2>=2.9.6
4444
- pyarrow>=10.0.1
45-
- pymysql>=1.0.2
45+
- pymysql>=1.1.0
4646
- pyqt>=5.15.9
47-
- pyreadstat>=1.2.0
47+
- pyreadstat>=1.2.6
4848
- pytables>=3.8.0
4949
- python-calamine>=0.1.7
5050
- pytz>=2023.4
5151
- pyxlsb>=1.0.10
52-
- s3fs>=2022.11.0
53-
- scipy>=1.10.0
52+
- s3fs>=2024.2.0
53+
- scipy>=1.12.0
5454
- sqlalchemy>=2.0.0
5555
- tabulate>=0.9.0
56-
- xarray>=2022.12.0, <=2024.9.0
56+
- xarray>=2024.1.1, <=2024.9.0
5757
- xlrd>=2.0.1
58-
- xlsxwriter>=3.0.5
59-
- zstandard>=0.19.0
58+
- xlsxwriter>=3.2.0
59+
- zstandard>=0.22.0
6060

6161
# downstream packages
6262
- botocore

ci/deps/actions-311.yaml

+16-16
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,39 @@ dependencies:
2323
- numpy
2424

2525
# optional dependencies
26-
- beautifulsoup4>=4.11.2
26+
- beautifulsoup4>=4.12.3
2727
- blosc>=1.21.3
2828
- bottleneck>=1.3.6
29-
- fastparquet>=2023.10.0
30-
- fsspec>=2022.11.0
29+
- fastparquet>=2024.2.0
30+
- fsspec>=2024.2.0
3131
- html5lib>=1.1
3232
- hypothesis>=6.84.0
33-
- gcsfs>=2022.11.0
34-
- jinja2>=3.1.2
33+
- gcsfs>=2024.2.0
34+
- jinja2>=3.1.3
3535
- lxml>=4.9.2
36-
- matplotlib>=3.6.3
37-
- numba>=0.56.4
38-
- numexpr>=2.8.4
36+
- matplotlib>=3.8.3
37+
- numba>=0.59.0
38+
- numexpr>=2.9.0
3939
- odfpy>=1.4.1
4040
- qtpy>=2.3.0
4141
- pyqt>=5.15.9
42-
- openpyxl>=3.1.0
42+
- openpyxl>=3.1.2
4343
- psycopg2>=2.9.6
4444
- pyarrow>=10.0.1
45-
- pymysql>=1.0.2
46-
- pyreadstat>=1.2.0
45+
- pymysql>=1.1.0
46+
- pyreadstat>=1.2.6
4747
- pytables>=3.8.0
4848
- python-calamine>=0.1.7
4949
- pytz>=2023.4
5050
- pyxlsb>=1.0.10
51-
- s3fs>=2022.11.0
52-
- scipy>=1.10.0
51+
- s3fs>=2024.2.0
52+
- scipy>=1.12.0
5353
- sqlalchemy>=2.0.0
5454
- tabulate>=0.9.0
55-
- xarray>=2022.12.0, <=2024.9.0
55+
- xarray>=2024.1.1, <=2024.9.0
5656
- xlrd>=2.0.1
57-
- xlsxwriter>=3.0.5
58-
- zstandard>=0.19.0
57+
- xlsxwriter>=3.2.0
58+
- zstandard>=0.22.0
5959

6060
- pip:
6161
- adbc-driver-postgresql>=0.10.0

0 commit comments

Comments
 (0)