Skip to content

Commit 9300ad0

Browse files
committed
Merge branch 'main' into poc-arrow-nans
2 parents ce28027 + d79cc2f commit 9300ad0

File tree

159 files changed

+1991
-1049
lines changed

Some content is hidden

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

159 files changed

+1991
-1049
lines changed

.github/workflows/unit-tests.yml

Lines changed: 9 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
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: [""]
33-
pandas_future_infer_string: ["0"]
33+
pandas_future_infer_string: ["1"]
3434
include:
3535
- name: "Downstream Compat"
3636
env_file: actions-311-downstream_compat.yaml
@@ -45,6 +45,10 @@ jobs:
4545
env_file: actions-313-freethreading.yaml
4646
pattern: "not slow and not network and not single_cpu"
4747
platform: ubuntu-24.04
48+
- name: "Without PyArrow"
49+
env_file: actions-312.yaml
50+
pattern: "not slow and not network and not single_cpu"
51+
platform: ubuntu-24.04
4852
- name: "Locale: it_IT"
4953
env_file: actions-311.yaml
5054
pattern: "not slow and not network and not single_cpu"
@@ -67,18 +71,9 @@ jobs:
6771
# It will be temporarily activated during tests with locale.setlocale
6872
extra_loc: "zh_CN"
6973
platform: ubuntu-24.04
70-
- name: "Future infer strings"
74+
- name: "PANDAS_FUTURE_INFER_STRING=0"
7175
env_file: actions-312.yaml
72-
pandas_future_infer_string: "1"
73-
platform: ubuntu-24.04
74-
- name: "Future infer strings (without pyarrow)"
75-
env_file: actions-311.yaml
76-
pandas_future_infer_string: "1"
77-
platform: ubuntu-24.04
78-
- name: "Pypy"
79-
env_file: actions-pypy-39.yaml
80-
pattern: "not slow and not network and not single_cpu"
81-
test_args: "--max-worker-restart 0"
76+
pandas_future_infer_string: "0"
8277
platform: ubuntu-24.04
8378
- name: "Numpy Dev"
8479
env_file: actions-311-numpydev.yaml
@@ -88,7 +83,6 @@ jobs:
8883
- name: "Pyarrow Nightly"
8984
env_file: actions-311-pyarrownightly.yaml
9085
pattern: "not slow and not network and not single_cpu"
91-
pandas_future_infer_string: "1"
9286
platform: ubuntu-24.04
9387
fail-fast: false
9488
name: ${{ matrix.name || format('{0} {1}', matrix.platform, matrix.env_file) }}
@@ -97,13 +91,13 @@ jobs:
9791
LANG: ${{ matrix.lang || 'C.UTF-8' }}
9892
LC_ALL: ${{ matrix.lc_all || '' }}
9993
PANDAS_CI: '1'
100-
PANDAS_FUTURE_INFER_STRING: ${{ matrix.pandas_future_infer_string || '0' }}
94+
PANDAS_FUTURE_INFER_STRING: ${{ matrix.pandas_future_infer_string || '1' }}
10195
TEST_ARGS: ${{ matrix.test_args || '' }}
10296
PYTEST_WORKERS: 'auto'
10397
PYTEST_TARGET: ${{ matrix.pytest_target || 'pandas' }}
10498
# Clipboard tests
10599
QT_QPA_PLATFORM: offscreen
106-
REMOVE_PYARROW: ${{ matrix.name == 'Future infer strings (without pyarrow)' && '1' || '0' }}
100+
REMOVE_PYARROW: ${{ matrix.name == 'Without PyArrow' && '1' || '0' }}
107101
concurrency:
108102
# https://github.community/t/concurrecy-not-work-for-push/183068/7
109103
group: ${{ github.event_name == 'push' && github.run_number || github.ref }}-${{ matrix.env_file }}-${{ matrix.pattern }}-${{ matrix.extra_apt || '' }}-${{ matrix.pandas_future_infer_string }}-${{ matrix.platform }}
@@ -169,12 +163,9 @@ jobs:
169163
with:
170164
# xref https://github.com/cython/cython/issues/6870
171165
werror: ${{ matrix.name != 'Freethreading' }}
172-
# TODO: Re-enable once Pypy has Pypy 3.10 on conda-forge
173-
if: ${{ matrix.name != 'Pypy' }}
174166

175167
- name: Test (not single_cpu)
176168
uses: ./.github/actions/run-tests
177-
if: ${{ matrix.name != 'Pypy' }}
178169
env:
179170
# Set pattern to not single_cpu if not already set
180171
PATTERN: ${{ env.PATTERN == '' && 'not single_cpu' || matrix.pattern }}

.github/workflows/wheels.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ jobs:
101101
- [macos-14, macosx_arm64]
102102
- [windows-2022, win_amd64]
103103
- [windows-11-arm, win_arm64]
104-
# TODO: support PyPy?
105104
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
106105
include:
107106
# Build Pyodide wheels and upload them to Anaconda.org
@@ -163,7 +162,7 @@ jobs:
163162
run: echo "sdist_name=$(cd ./dist && ls -d */)" >> "$GITHUB_ENV"
164163

165164
- name: Build wheels
166-
uses: pypa/cibuildwheel@v2.23.3
165+
uses: pypa/cibuildwheel@v3.1.1
167166
with:
168167
package-dir: ./dist/${{ startsWith(matrix.buildplat[1], 'macosx') && env.sdist_name || needs.build_sdist.outputs.sdist_file }}
169168
env:

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ details, see the commit logs at https://github.com/pandas-dev/pandas.
115115
## Dependencies
116116
- [NumPy - Adds support for large, multi-dimensional arrays, matrices and high-level mathematical functions to operate on these arrays](https://www.numpy.org)
117117
- [python-dateutil - Provides powerful extensions to the standard datetime module](https://dateutil.readthedocs.io/en/stable/index.html)
118-
- [pytz - Brings the Olson tz database into Python which allows accurate and cross platform timezone calculations](https://github.com/stub42/pytz)
118+
- [tzdata - Provides an IANA time zone database](https://tzdata.readthedocs.io/en/latest/)
119119

120120
See the [full installation instructions](https://pandas.pydata.org/pandas-docs/stable/install.html#dependencies) for minimum supported versions of required, recommended and optional dependencies.
121121

@@ -175,7 +175,7 @@ All contributions, bug reports, bug fixes, documentation improvements, enhanceme
175175

176176
A detailed overview on how to contribute can be found in the **[contributing guide](https://pandas.pydata.org/docs/dev/development/contributing.html)**.
177177

178-
If you are simply looking to start working with the pandas codebase, navigate to the [GitHub "issues" tab](https://github.com/pandas-dev/pandas/issues) and start looking through interesting issues. There are a number of issues listed under [Docs](https://github.com/pandas-dev/pandas/issues?labels=Docs&sort=updated&state=open) and [good first issue](https://github.com/pandas-dev/pandas/issues?labels=good+first+issue&sort=updated&state=open) where you could start out.
178+
If you are simply looking to start working with the pandas codebase, navigate to the [GitHub "issues" tab](https://github.com/pandas-dev/pandas/issues) and start looking through interesting issues. There are a number of issues listed under [Docs](https://github.com/pandas-dev/pandas/issues?q=is%3Aissue%20state%3Aopen%20label%3ADocs%20sort%3Aupdated-desc) and [good first issue](https://github.com/pandas-dev/pandas/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22good%20first%20issue%22%20sort%3Aupdated-desc) where you could start out.
179179

180180
You can also triage issues which may include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to pandas on CodeTriage](https://www.codetriage.com/pandas-dev/pandas).
181181

asv_bench/benchmarks/io/csv.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,25 @@ def time_frame(self, kind):
5353
self.df.to_csv(self.fname)
5454

5555

56+
class ToCSVFloatFormatVariants(BaseIO):
57+
fname = "__test__.csv"
58+
59+
def setup(self):
60+
self.df = DataFrame(np.random.default_rng(seed=42).random((1000, 1000)))
61+
62+
def time_old_style_percent_format(self):
63+
self.df.to_csv(self.fname, float_format="%.6f")
64+
65+
def time_new_style_brace_format(self):
66+
self.df.to_csv(self.fname, float_format="{:.6f}")
67+
68+
def time_new_style_thousands_format(self):
69+
self.df.to_csv(self.fname, float_format="{:,.2f}")
70+
71+
def time_callable_format(self):
72+
self.df.to_csv(self.fname, float_format=lambda x: f"{x:.6f}")
73+
74+
5675
class ToCSVMultiIndexUnusedLevels(BaseIO):
5776
fname = "__test__.csv"
5877

ci/code_checks.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ 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.errors.IncompatibleFrequency SA01,SS06,EX01" \
7576
-i "pandas.core.groupby.DataFrameGroupBy.plot PR02" \
7677
-i "pandas.core.groupby.SeriesGroupBy.plot PR02" \
7778
-i "pandas.core.resample.Resampler.quantile PR01,PR07" \

ci/deps/actions-310-minimum_versions.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies:
2222

2323
# required dependencies
2424
- python-dateutil=2.8.2
25-
- numpy=1.23.5
25+
- numpy=1.26.0
2626

2727
# optional dependencies
2828
- beautifulsoup4=4.12.3
@@ -62,4 +62,4 @@ dependencies:
6262
- pip:
6363
- adbc-driver-postgresql==0.10.0
6464
- adbc-driver-sqlite==0.8.0
65-
- tzdata==2022.7
65+
- tzdata==2023.3

ci/deps/actions-310.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,4 @@ dependencies:
6060
- pip:
6161
- adbc-driver-postgresql>=0.10.0
6262
- adbc-driver-sqlite>=0.8.0
63-
- tzdata>=2022.7
63+
- tzdata>=2023.3

ci/deps/actions-311-downstream_compat.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,7 @@ dependencies:
5050
- pytz>=2023.4
5151
- pyxlsb>=1.0.10
5252
- s3fs>=2023.12.2
53-
# TEMP upper pin for scipy (https://github.com/statsmodels/statsmodels/issues/9584)
54-
- scipy>=1.12.0,<1.16
53+
- scipy>=1.12.0
5554
- sqlalchemy>=2.0.0
5655
- tabulate>=0.9.0
5756
- xarray>=2024.1.1
@@ -73,4 +72,4 @@ dependencies:
7372
- pip:
7473
- adbc-driver-postgresql>=0.10.0
7574
- adbc-driver-sqlite>=0.8.0
76-
- tzdata>=2022.7
75+
- tzdata>=2023.3

ci/deps/actions-311-numpydev.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,4 @@ dependencies:
2424
- "--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
2525
- "--pre"
2626
- "numpy"
27-
- "tzdata>=2022.7"
27+
- "tzdata>=2023.3"

ci/deps/actions-311-pyarrownightly.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ dependencies:
2222
- pip
2323

2424
- pip:
25-
- "tzdata>=2022.7"
25+
- "tzdata>=2023.3"
2626
- "--extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple"
2727
- "--prefer-binary"
2828
- "--pre"

0 commit comments

Comments
 (0)