Skip to content

Commit c404086

Browse files
committed
Merge remote-tracking branch 'upstream/main' into bug-cov-nat
2 parents dafd24c + e2bd8e6 commit c404086

Some content is hidden

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

44 files changed

+818
-234
lines changed

.github/workflows/wheels.yml

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ jobs:
9999
# Note: M1 images on Github Actions start from macOS 14
100100
- [macos-14, macosx_arm64]
101101
- [windows-2022, win_amd64]
102+
- [windows-11-arm, win_arm64]
102103
# TODO: support PyPy?
103104
python: [["cp310", "3.10"], ["cp311", "3.11"], ["cp312", "3.12"], ["cp313", "3.13"], ["cp313t", "3.13"]]
104105
include:
@@ -108,6 +109,12 @@ jobs:
108109
- buildplat: [ubuntu-24.04, pyodide_wasm32]
109110
python: ["cp312", "3.12"]
110111
cibw_build_frontend: 'build'
112+
exclude:
113+
- buildplat: [windows-11-arm, win_arm64]
114+
python: ["cp310", "3.10"]
115+
# BackendUnavailable: Cannot import 'mesonpy'
116+
- buildplat: [windows-11-arm, win_arm64]
117+
python: ["cp313t", "3.13"]
111118

112119
env:
113120
IS_PUSH: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
@@ -118,6 +125,12 @@ jobs:
118125
with:
119126
fetch-depth: 0
120127

128+
- name: Set up MSVC environment for ARM64
129+
if: matrix.buildplat[1] == 'win_arm64'
130+
uses: ilammy/msvc-dev-cmd@v1
131+
with:
132+
arch: arm64
133+
121134
# TODO: Build wheels from sdist again
122135
# There's some sort of weird race condition?
123136
# within Github that makes the sdist be missing files
@@ -155,9 +168,13 @@ jobs:
155168
env:
156169
CIBW_BUILD: ${{ matrix.python[0] }}-${{ matrix.buildplat[1] }}
157170
CIBW_BUILD_FRONTEND: ${{ matrix.cibw_build_frontend || 'pip' }}
158-
CIBW_PLATFORM: ${{ matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide' || 'auto' }}
171+
CIBW_PLATFORM: ${{ (matrix.buildplat[1] == 'pyodide_wasm32' && 'pyodide') || (matrix.buildplat[1] == 'win_arm64' && 'windows') || 'auto' }}
172+
CIBW_ARCHS: ${{ matrix.buildplat[1] == 'win_arm64' && 'ARM64' || 'auto' }}
173+
CIBW_BEFORE_BUILD_WINDOWS: 'python -m pip install delvewheel'
159174

160-
- name: Set up Python
175+
- name: Set up Python for validation/upload (non-ARM64 Windows & other OS)
176+
# micromamba is not available for ARM64 Windows
177+
if: matrix.buildplat[1] != 'win_arm64'
161178
uses: mamba-org/setup-micromamba@v2
162179
with:
163180
environment-name: wheel-env
@@ -170,6 +187,12 @@ jobs:
170187
cache-downloads: true
171188
cache-environment: true
172189

190+
- name: Install wheel for win_arm64
191+
# installing wheel here because micromamba step was skipped
192+
if: matrix.buildplat[1] == 'win_arm64'
193+
shell: bash -el {0}
194+
run: python -m pip install wheel
195+
173196
- name: Validate wheel RECORD
174197
shell: bash -el {0}
175198
run: for whl in $(ls wheelhouse); do wheel unpack wheelhouse/$whl -d /tmp; done

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ repos:
140140
pass_filenames: false
141141
types: [python]
142142
stages: [manual]
143-
- id: mypy
143+
- id: stubtest
144144
# note: assumes python env is setup and activated
145145
# note: requires pandas dev to be installed
146146
name: mypy (stubtest)

doc/source/user_guide/10min.rst

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,12 +178,26 @@ Getitem (``[]``)
178178
~~~~~~~~~~~~~~~~
179179

180180
For a :class:`DataFrame`, passing a single label selects a column and
181-
yields a :class:`Series` equivalent to ``df.A``:
181+
yields a :class:`Series`:
182182

183183
.. ipython:: python
184184
185185
df["A"]
186186
187+
If the label only contains letters, numbers, and underscores, you can
188+
alternatively use the column name attribute:
189+
190+
.. ipython:: python
191+
192+
df.A
193+
194+
Passing a list of column labels selects multiple columns, which can be useful
195+
for getting a subset/rearranging:
196+
197+
.. ipython:: python
198+
199+
df[["B", "A"]]
200+
187201
For a :class:`DataFrame`, passing a slice ``:`` selects matching rows:
188202

189203
.. ipython:: python

doc/source/user_guide/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ Guides
7878
boolean
7979
visualization
8080
style
81+
user_defined_functions
8182
groupby
8283
window
8384
timeseries

doc/source/user_guide/missing_data.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,9 +258,6 @@ will convert your data to use the nullable data types supporting :class:`NA`,
258258
such as :class:`Int64Dtype` or :class:`ArrowDtype`. This is especially helpful after reading
259259
in data sets from IO methods where data types were inferred.
260260

261-
In this example, while the dtypes of all columns are changed, we show the results for
262-
the first 10 columns.
263-
264261
.. ipython:: python
265262
266263
import io
@@ -434,7 +431,7 @@ where the index and column aligns between the original object and the filled obj
434431
435432
.. note::
436433

437-
:meth:`DataFrame.where` can also be used to fill NA values.Same result as above.
434+
:meth:`DataFrame.where` can also be used to fill NA values. Same result as above.
438435

439436
.. ipython:: python
440437

0 commit comments

Comments
 (0)