Skip to content

Commit 370d20c

Browse files
committed
merge
1 parent 7cb0b19 commit 370d20c

File tree

24 files changed

+167
-352
lines changed

24 files changed

+167
-352
lines changed

.circleci/config.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2.1
33
jobs:
44
test-arm:
55
machine:
6-
image: ubuntu-2004:2022.04.1
6+
image: default
77
resource_class: arm.large
88
environment:
99
ENV_FILE: ci/deps/circle-310-arm64.yaml
@@ -46,7 +46,7 @@ jobs:
4646
cibw-build:
4747
type: string
4848
machine:
49-
image: ubuntu-2004:2022.04.1
49+
image: default
5050
resource_class: arm.large
5151
environment:
5252
TRIGGER_SOURCE: << pipeline.trigger_source >>

.pre-commit-config.yaml

+6-7
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ repos:
3030
files: ^pandas
3131
exclude: ^pandas/tests
3232
args: [--select, "ANN001,ANN2", --fix-only, --exit-non-zero-on-fix]
33+
- id: ruff
34+
name: ruff-use-pd_array-in-core
35+
alias: ruff-use-pd_array-in-core
36+
files: ^pandas/core/
37+
exclude: ^pandas/core/api\.py$
38+
args: [--select, "ICN001", --exit-non-zero-on-fix]
3339
- id: ruff-format
3440
exclude: ^scripts
3541
- repo: https://github.com/jendrikseipp/vulture
@@ -272,13 +278,6 @@ repos:
272278
language: python
273279
entry: python scripts/validate_unwanted_patterns.py --validation-type="nodefault_used_not_only_for_typing"
274280
types: [python]
275-
- id: use-pd_array-in-core
276-
name: Import pandas.array as pd_array in core
277-
language: python
278-
entry: python scripts/use_pd_array_in_core.py
279-
files: ^pandas/core/
280-
exclude: ^pandas/core/api\.py$
281-
types: [python]
282281
- id: no-return-exception
283282
name: Use raise instead of return for exceptions
284283
language: pygrep

ci/code_checks.sh

-35
Original file line numberDiff line numberDiff line change
@@ -173,14 +173,12 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
173173
pandas.Timestamp.tzinfo\
174174
pandas.Timestamp.value\
175175
pandas.Timestamp.year\
176-
pandas.tseries.offsets.BQuarterBegin.is_anchored\
177176
pandas.tseries.offsets.BQuarterBegin.is_on_offset\
178177
pandas.tseries.offsets.BQuarterBegin.n\
179178
pandas.tseries.offsets.BQuarterBegin.nanos\
180179
pandas.tseries.offsets.BQuarterBegin.normalize\
181180
pandas.tseries.offsets.BQuarterBegin.rule_code\
182181
pandas.tseries.offsets.BQuarterBegin.startingMonth\
183-
pandas.tseries.offsets.BQuarterEnd.is_anchored\
184182
pandas.tseries.offsets.BQuarterEnd.is_on_offset\
185183
pandas.tseries.offsets.BQuarterEnd.n\
186184
pandas.tseries.offsets.BQuarterEnd.nanos\
@@ -278,7 +276,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
278276
pandas.tseries.offsets.Easter.rule_code\
279277
pandas.tseries.offsets.FY5253.get_rule_code_suffix\
280278
pandas.tseries.offsets.FY5253.get_year_end\
281-
pandas.tseries.offsets.FY5253.is_anchored\
282279
pandas.tseries.offsets.FY5253.is_on_offset\
283280
pandas.tseries.offsets.FY5253.n\
284281
pandas.tseries.offsets.FY5253.nanos\
@@ -289,7 +286,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
289286
pandas.tseries.offsets.FY5253.weekday\
290287
pandas.tseries.offsets.FY5253Quarter.get_rule_code_suffix\
291288
pandas.tseries.offsets.FY5253Quarter.get_weeks\
292-
pandas.tseries.offsets.FY5253Quarter.is_anchored\
293289
pandas.tseries.offsets.FY5253Quarter.is_on_offset\
294290
pandas.tseries.offsets.FY5253Quarter.n\
295291
pandas.tseries.offsets.FY5253Quarter.nanos\
@@ -342,14 +338,12 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
342338
pandas.tseries.offsets.Nano.n\
343339
pandas.tseries.offsets.Nano.normalize\
344340
pandas.tseries.offsets.Nano.rule_code\
345-
pandas.tseries.offsets.QuarterBegin.is_anchored\
346341
pandas.tseries.offsets.QuarterBegin.is_on_offset\
347342
pandas.tseries.offsets.QuarterBegin.n\
348343
pandas.tseries.offsets.QuarterBegin.nanos\
349344
pandas.tseries.offsets.QuarterBegin.normalize\
350345
pandas.tseries.offsets.QuarterBegin.rule_code\
351346
pandas.tseries.offsets.QuarterBegin.startingMonth\
352-
pandas.tseries.offsets.QuarterEnd.is_anchored\
353347
pandas.tseries.offsets.QuarterEnd.is_on_offset\
354348
pandas.tseries.offsets.QuarterEnd.n\
355349
pandas.tseries.offsets.QuarterEnd.nanos\
@@ -379,7 +373,6 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
379373
pandas.tseries.offsets.Tick.n\
380374
pandas.tseries.offsets.Tick.normalize\
381375
pandas.tseries.offsets.Tick.rule_code\
382-
pandas.tseries.offsets.Week.is_anchored\
383376
pandas.tseries.offsets.Week.is_on_offset\
384377
pandas.tseries.offsets.Week.n\
385378
pandas.tseries.offsets.Week.nanos\
@@ -1500,75 +1493,62 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
15001493
pandas.tseries.offsets.BQuarterEnd.name\
15011494
pandas.tseries.offsets.BYearBegin.copy\
15021495
pandas.tseries.offsets.BYearBegin.freqstr\
1503-
pandas.tseries.offsets.BYearBegin.is_anchored\
15041496
pandas.tseries.offsets.BYearBegin.kwds\
15051497
pandas.tseries.offsets.BYearBegin.name\
15061498
pandas.tseries.offsets.BYearEnd.copy\
15071499
pandas.tseries.offsets.BYearEnd.freqstr\
1508-
pandas.tseries.offsets.BYearEnd.is_anchored\
15091500
pandas.tseries.offsets.BYearEnd.kwds\
15101501
pandas.tseries.offsets.BYearEnd.name\
15111502
pandas.tseries.offsets.BusinessDay\
15121503
pandas.tseries.offsets.BusinessDay.copy\
15131504
pandas.tseries.offsets.BusinessDay.freqstr\
1514-
pandas.tseries.offsets.BusinessDay.is_anchored\
15151505
pandas.tseries.offsets.BusinessDay.kwds\
15161506
pandas.tseries.offsets.BusinessDay.name\
15171507
pandas.tseries.offsets.BusinessHour\
15181508
pandas.tseries.offsets.BusinessHour.copy\
15191509
pandas.tseries.offsets.BusinessHour.freqstr\
1520-
pandas.tseries.offsets.BusinessHour.is_anchored\
15211510
pandas.tseries.offsets.BusinessHour.kwds\
15221511
pandas.tseries.offsets.BusinessHour.name\
15231512
pandas.tseries.offsets.BusinessMonthBegin.copy\
15241513
pandas.tseries.offsets.BusinessMonthBegin.freqstr\
1525-
pandas.tseries.offsets.BusinessMonthBegin.is_anchored\
15261514
pandas.tseries.offsets.BusinessMonthBegin.kwds\
15271515
pandas.tseries.offsets.BusinessMonthBegin.name\
15281516
pandas.tseries.offsets.BusinessMonthEnd.copy\
15291517
pandas.tseries.offsets.BusinessMonthEnd.freqstr\
1530-
pandas.tseries.offsets.BusinessMonthEnd.is_anchored\
15311518
pandas.tseries.offsets.BusinessMonthEnd.kwds\
15321519
pandas.tseries.offsets.BusinessMonthEnd.name\
15331520
pandas.tseries.offsets.CDay\
15341521
pandas.tseries.offsets.CustomBusinessDay\
15351522
pandas.tseries.offsets.CustomBusinessDay.copy\
15361523
pandas.tseries.offsets.CustomBusinessDay.freqstr\
1537-
pandas.tseries.offsets.CustomBusinessDay.is_anchored\
15381524
pandas.tseries.offsets.CustomBusinessDay.kwds\
15391525
pandas.tseries.offsets.CustomBusinessDay.name\
15401526
pandas.tseries.offsets.CustomBusinessHour\
15411527
pandas.tseries.offsets.CustomBusinessHour.copy\
15421528
pandas.tseries.offsets.CustomBusinessHour.freqstr\
1543-
pandas.tseries.offsets.CustomBusinessHour.is_anchored\
15441529
pandas.tseries.offsets.CustomBusinessHour.kwds\
15451530
pandas.tseries.offsets.CustomBusinessHour.name\
15461531
pandas.tseries.offsets.CustomBusinessMonthBegin.copy\
15471532
pandas.tseries.offsets.CustomBusinessMonthBegin.freqstr\
1548-
pandas.tseries.offsets.CustomBusinessMonthBegin.is_anchored\
15491533
pandas.tseries.offsets.CustomBusinessMonthBegin.is_on_offset\
15501534
pandas.tseries.offsets.CustomBusinessMonthBegin.kwds\
15511535
pandas.tseries.offsets.CustomBusinessMonthBegin.name\
15521536
pandas.tseries.offsets.CustomBusinessMonthEnd.copy\
15531537
pandas.tseries.offsets.CustomBusinessMonthEnd.freqstr\
1554-
pandas.tseries.offsets.CustomBusinessMonthEnd.is_anchored\
15551538
pandas.tseries.offsets.CustomBusinessMonthEnd.is_on_offset\
15561539
pandas.tseries.offsets.CustomBusinessMonthEnd.kwds\
15571540
pandas.tseries.offsets.CustomBusinessMonthEnd.name\
15581541
pandas.tseries.offsets.DateOffset.copy\
15591542
pandas.tseries.offsets.DateOffset.freqstr\
1560-
pandas.tseries.offsets.DateOffset.is_anchored\
15611543
pandas.tseries.offsets.DateOffset.kwds\
15621544
pandas.tseries.offsets.DateOffset.name\
15631545
pandas.tseries.offsets.Day.copy\
15641546
pandas.tseries.offsets.Day.freqstr\
1565-
pandas.tseries.offsets.Day.is_anchored\
15661547
pandas.tseries.offsets.Day.kwds\
15671548
pandas.tseries.offsets.Day.name\
15681549
pandas.tseries.offsets.Day.nanos\
15691550
pandas.tseries.offsets.Easter.copy\
15701551
pandas.tseries.offsets.Easter.freqstr\
1571-
pandas.tseries.offsets.Easter.is_anchored\
15721552
pandas.tseries.offsets.Easter.kwds\
15731553
pandas.tseries.offsets.Easter.name\
15741554
pandas.tseries.offsets.FY5253.copy\
@@ -1581,47 +1561,39 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
15811561
pandas.tseries.offsets.FY5253Quarter.name\
15821562
pandas.tseries.offsets.Hour.copy\
15831563
pandas.tseries.offsets.Hour.freqstr\
1584-
pandas.tseries.offsets.Hour.is_anchored\
15851564
pandas.tseries.offsets.Hour.kwds\
15861565
pandas.tseries.offsets.Hour.name\
15871566
pandas.tseries.offsets.Hour.nanos\
15881567
pandas.tseries.offsets.LastWeekOfMonth\
15891568
pandas.tseries.offsets.LastWeekOfMonth.copy\
15901569
pandas.tseries.offsets.LastWeekOfMonth.freqstr\
1591-
pandas.tseries.offsets.LastWeekOfMonth.is_anchored\
15921570
pandas.tseries.offsets.LastWeekOfMonth.kwds\
15931571
pandas.tseries.offsets.LastWeekOfMonth.name\
15941572
pandas.tseries.offsets.Micro.copy\
15951573
pandas.tseries.offsets.Micro.freqstr\
1596-
pandas.tseries.offsets.Micro.is_anchored\
15971574
pandas.tseries.offsets.Micro.kwds\
15981575
pandas.tseries.offsets.Micro.name\
15991576
pandas.tseries.offsets.Micro.nanos\
16001577
pandas.tseries.offsets.Milli.copy\
16011578
pandas.tseries.offsets.Milli.freqstr\
1602-
pandas.tseries.offsets.Milli.is_anchored\
16031579
pandas.tseries.offsets.Milli.kwds\
16041580
pandas.tseries.offsets.Milli.name\
16051581
pandas.tseries.offsets.Milli.nanos\
16061582
pandas.tseries.offsets.Minute.copy\
16071583
pandas.tseries.offsets.Minute.freqstr\
1608-
pandas.tseries.offsets.Minute.is_anchored\
16091584
pandas.tseries.offsets.Minute.kwds\
16101585
pandas.tseries.offsets.Minute.name\
16111586
pandas.tseries.offsets.Minute.nanos\
16121587
pandas.tseries.offsets.MonthBegin.copy\
16131588
pandas.tseries.offsets.MonthBegin.freqstr\
1614-
pandas.tseries.offsets.MonthBegin.is_anchored\
16151589
pandas.tseries.offsets.MonthBegin.kwds\
16161590
pandas.tseries.offsets.MonthBegin.name\
16171591
pandas.tseries.offsets.MonthEnd.copy\
16181592
pandas.tseries.offsets.MonthEnd.freqstr\
1619-
pandas.tseries.offsets.MonthEnd.is_anchored\
16201593
pandas.tseries.offsets.MonthEnd.kwds\
16211594
pandas.tseries.offsets.MonthEnd.name\
16221595
pandas.tseries.offsets.Nano.copy\
16231596
pandas.tseries.offsets.Nano.freqstr\
1624-
pandas.tseries.offsets.Nano.is_anchored\
16251597
pandas.tseries.offsets.Nano.kwds\
16261598
pandas.tseries.offsets.Nano.name\
16271599
pandas.tseries.offsets.Nano.nanos\
@@ -1635,25 +1607,21 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
16351607
pandas.tseries.offsets.QuarterEnd.name\
16361608
pandas.tseries.offsets.Second.copy\
16371609
pandas.tseries.offsets.Second.freqstr\
1638-
pandas.tseries.offsets.Second.is_anchored\
16391610
pandas.tseries.offsets.Second.kwds\
16401611
pandas.tseries.offsets.Second.name\
16411612
pandas.tseries.offsets.Second.nanos\
16421613
pandas.tseries.offsets.SemiMonthBegin\
16431614
pandas.tseries.offsets.SemiMonthBegin.copy\
16441615
pandas.tseries.offsets.SemiMonthBegin.freqstr\
1645-
pandas.tseries.offsets.SemiMonthBegin.is_anchored\
16461616
pandas.tseries.offsets.SemiMonthBegin.kwds\
16471617
pandas.tseries.offsets.SemiMonthBegin.name\
16481618
pandas.tseries.offsets.SemiMonthEnd\
16491619
pandas.tseries.offsets.SemiMonthEnd.copy\
16501620
pandas.tseries.offsets.SemiMonthEnd.freqstr\
1651-
pandas.tseries.offsets.SemiMonthEnd.is_anchored\
16521621
pandas.tseries.offsets.SemiMonthEnd.kwds\
16531622
pandas.tseries.offsets.SemiMonthEnd.name\
16541623
pandas.tseries.offsets.Tick.copy\
16551624
pandas.tseries.offsets.Tick.freqstr\
1656-
pandas.tseries.offsets.Tick.is_anchored\
16571625
pandas.tseries.offsets.Tick.kwds\
16581626
pandas.tseries.offsets.Tick.name\
16591627
pandas.tseries.offsets.Tick.nanos\
@@ -1664,17 +1632,14 @@ if [[ -z "$CHECK" || "$CHECK" == "docstrings" ]]; then
16641632
pandas.tseries.offsets.WeekOfMonth\
16651633
pandas.tseries.offsets.WeekOfMonth.copy\
16661634
pandas.tseries.offsets.WeekOfMonth.freqstr\
1667-
pandas.tseries.offsets.WeekOfMonth.is_anchored\
16681635
pandas.tseries.offsets.WeekOfMonth.kwds\
16691636
pandas.tseries.offsets.WeekOfMonth.name\
16701637
pandas.tseries.offsets.YearBegin.copy\
16711638
pandas.tseries.offsets.YearBegin.freqstr\
1672-
pandas.tseries.offsets.YearBegin.is_anchored\
16731639
pandas.tseries.offsets.YearBegin.kwds\
16741640
pandas.tseries.offsets.YearBegin.name\
16751641
pandas.tseries.offsets.YearEnd.copy\
16761642
pandas.tseries.offsets.YearEnd.freqstr\
1677-
pandas.tseries.offsets.YearEnd.is_anchored\
16781643
pandas.tseries.offsets.YearEnd.kwds\
16791644
pandas.tseries.offsets.YearEnd.name\
16801645
pandas.util.hash_array\

doc/source/whatsnew/v3.0.0.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@ Removal of prior version deprecations/changes
191191
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
192192
- :func:`read_excel`, :func:`read_json`, :func:`read_html`, and :func:`read_xml` no longer accept raw string or byte representation of the data. That type of data must be wrapped in a :py:class:`StringIO` or :py:class:`BytesIO` (:issue:`53767`)
193193
- :meth:`Series.dt.to_pydatetime` now returns a :class:`Series` of :py:class:`datetime.datetime` objects (:issue:`52459`)
194+
- :meth:`SeriesGroupBy.agg` no longer pins the name of the group to the input passed to the provided ``func`` (:issue:`51703`)
194195
- All arguments except ``name`` in :meth:`Index.rename` are now keyword only (:issue:`56493`)
195196
- All arguments except the first ``path``-like argument in IO writers are now keyword only (:issue:`54229`)
196197
- All arguments in :meth:`Index.sort_values` are now keyword only (:issue:`56493`)
@@ -238,7 +239,6 @@ Removal of prior version deprecations/changes
238239
- Removed unused arguments ``*args`` and ``**kwargs`` in :class:`Resampler` methods (:issue:`50977`)
239240
- Unrecognized timezones when parsing strings to datetimes now raises a ``ValueError`` (:issue:`51477`)
240241

241-
242242
.. ---------------------------------------------------------------------------
243243
.. _whatsnew_300.performance:
244244

@@ -255,6 +255,7 @@ Performance improvements
255255
- Performance improvement in :meth:`MultiIndex.equals` for equal length indexes (:issue:`56990`)
256256
- Performance improvement in :meth:`RangeIndex.__getitem__` with a boolean mask returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57588`)
257257
- Performance improvement in :meth:`RangeIndex.append` when appending the same index (:issue:`57252`)
258+
- Performance improvement in :meth:`RangeIndex.join` returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57651`)
258259
- Performance improvement in :meth:`RangeIndex.reindex` returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57647`)
259260
- Performance improvement in :meth:`RangeIndex.take` returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57445`)
260261
- Performance improvement in ``DataFrameGroupBy.__len__`` and ``SeriesGroupBy.__len__`` (:issue:`57595`)

pandas/_libs/hashtable.pxd

+1-1
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ cdef class Vector:
180180
cdef bint external_view_exists
181181

182182
cdef class Int64Vector(Vector):
183-
cdef Int64VectorData *data
183+
cdef Int64VectorData data
184184
cdef ndarray ao
185185

186186
cdef resize(self)

pandas/_libs/hashtable.pyx

-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,4 @@
11
cimport cython
2-
from cpython.mem cimport (
3-
PyMem_Free,
4-
PyMem_Malloc,
5-
)
62
from cpython.ref cimport (
73
Py_INCREF,
84
PyObject,

0 commit comments

Comments
 (0)