Skip to content

Commit 12ef132

Browse files
committed
cleanup
1 parent 3505c7a commit 12ef132

File tree

8 files changed

+32
-140
lines changed

8 files changed

+32
-140
lines changed

doc/source/development/maintaining.rst

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,34 @@ a milestone before tagging, you can request the bot to backport it with:
326326
@Meeseeksdev backport <branch>
327327
328328
329+
.. _maintaining.asv-machine:
330+
331+
Benchmark machine
332+
-----------------
333+
334+
The team currently owns dedicated hardware for hosting a website for pandas' ASV performance benchmark. The results
335+
are published to https://asv-runner.github.io/asv-collection/pandas/
336+
337+
Configuration
338+
`````````````
339+
340+
The machine can be configured with the `Ansible <http://docs.ansible.com/ansible/latest/index.html>`_ playbook in https://github.com/tomaugspurger/asv-runner.
341+
342+
Publishing
343+
``````````
344+
345+
The results are published to another GitHub repository, https://github.com/tomaugspurger/asv-collection.
346+
Finally, we have a cron job on our docs server to pull from https://github.com/tomaugspurger/asv-collection, to serve them from ``/speed``.
347+
Ask Tom or Joris for access to the webserver.
348+
349+
Debugging
350+
`````````
351+
352+
The benchmarks are scheduled by Airflow. It has a dashboard for viewing and debugging the results. You'll need to setup an SSH tunnel to view them
353+
354+
ssh -L 8080:localhost:8080 pandas@panda.likescandy.com
355+
356+
329357
.. _maintaining.release:
330358

331359
Release process

doc/source/whatsnew/v3.0.0.rst

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ 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`)
195194
- All arguments except ``name`` in :meth:`Index.rename` are now keyword only (:issue:`56493`)
196195
- All arguments except the first ``path``-like argument in IO writers are now keyword only (:issue:`54229`)
197196
- All arguments in :meth:`Index.sort_values` are now keyword only (:issue:`56493`)
@@ -239,12 +238,12 @@ Removal of prior version deprecations/changes
239238
- Removed unused arguments ``*args`` and ``**kwargs`` in :class:`Resampler` methods (:issue:`50977`)
240239
- Unrecognized timezones when parsing strings to datetimes now raises a ``ValueError`` (:issue:`51477`)
241240

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

245245
Performance improvements
246246
~~~~~~~~~~~~~~~~~~~~~~~~
247-
- :meth:`Series.str.extract` returns a :class:`RangeIndex` columns instead of an :class:`Index` column when possible (:issue:`57542`)
248247
- Performance improvement in :class:`DataFrame` when ``data`` is a ``dict`` and ``columns`` is specified (:issue:`24368`)
249248
- Performance improvement in :meth:`DataFrame.join` for sorted but non-unique indexes (:issue:`56941`)
250249
- Performance improvement in :meth:`DataFrame.join` when left and/or right are non-unique and ``how`` is ``"left"``, ``"right"``, or ``"inner"`` (:issue:`56817`)
@@ -253,11 +252,11 @@ Performance improvements
253252
- Performance improvement in :meth:`Index.join` by propagating cached attributes in cases where the result matches one of the inputs (:issue:`57023`)
254253
- Performance improvement in :meth:`Index.take` when ``indices`` is a full range indexer from zero to length of index (:issue:`56806`)
255254
- Performance improvement in :meth:`MultiIndex.equals` for equal length indexes (:issue:`56990`)
256-
- Performance improvement in :meth:`RangeIndex.__getitem__` with a boolean mask returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57588`)
257255
- Performance improvement in :meth:`RangeIndex.append` when appending the same index (:issue:`57252`)
258256
- Performance improvement in :meth:`RangeIndex.take` returning a :class:`RangeIndex` instead of a :class:`Index` when possible. (:issue:`57445`)
259-
- Performance improvement in ``DataFrameGroupBy.__len__`` and ``SeriesGroupBy.__len__`` (:issue:`57595`)
260257
- Performance improvement in indexing operations for string dtypes (:issue:`56997`)
258+
- :meth:`Series.str.extract` returns a :class:`RangeIndex` columns instead of an :class:`Index` column when possible (:issue:`?``)
259+
- Performance improvement in ``DataFrameGroupBy.__len__`` and ``SeriesGroupBy.__len__`` (:issue:`57595`)
261260

262261
.. ---------------------------------------------------------------------------
263262
.. _whatsnew_300.bug_fixes:

pandas/core/indexes/range.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
doc,
3030
)
3131

32-
from pandas.core.dtypes.base import ExtensionDtype
3332
from pandas.core.dtypes.common import (
3433
ensure_platform_int,
3534
ensure_python_int,
@@ -43,7 +42,6 @@
4342
from pandas.core import ops
4443
import pandas.core.common as com
4544
from pandas.core.construction import extract_array
46-
from pandas.core.indexers import check_array_indexer
4745
import pandas.core.indexes.base as ibase
4846
from pandas.core.indexes.base import (
4947
Index,
@@ -1050,18 +1048,6 @@ def __getitem__(self, key):
10501048
"and integer or boolean "
10511049
"arrays are valid indices"
10521050
)
1053-
elif com.is_bool_indexer(key):
1054-
if isinstance(getattr(key, "dtype", None), ExtensionDtype):
1055-
np_key = key.to_numpy(dtype=bool, na_value=False)
1056-
else:
1057-
np_key = np.asarray(key, dtype=bool)
1058-
check_array_indexer(self._range, np_key) # type: ignore[arg-type]
1059-
# Short circuit potential _shallow_copy check
1060-
if np_key.all():
1061-
return self._simple_new(self._range, name=self.name)
1062-
elif not np_key.any():
1063-
return self._simple_new(_empty_range, name=self.name)
1064-
return self.take(np.flatnonzero(np_key))
10651051
return super().__getitem__(key)
10661052

10671053
def _getitem_slice(self, slobj: slice) -> Self:

pandas/io/excel/_calamine.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def load_workbook(
7575
from python_calamine import load_workbook
7676

7777
return load_workbook(
78-
filepath_or_buffer,
78+
filepath_or_buffer, # type: ignore[arg-type]
7979
**engine_kwargs,
8080
)
8181

pandas/tests/indexes/ranges/test_range.py

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -623,41 +623,3 @@ def test_append_one_nonempty_preserve_step():
623623
expected = RangeIndex(0, -1, -1)
624624
result = RangeIndex(0).append([expected])
625625
tm.assert_index_equal(result, expected, exact=True)
626-
627-
628-
def test_getitem_boolmask_all_true():
629-
ri = RangeIndex(3, name="foo")
630-
expected = ri.copy()
631-
result = ri[[True] * 3]
632-
tm.assert_index_equal(result, expected, exact=True)
633-
634-
635-
def test_getitem_boolmask_all_false():
636-
ri = RangeIndex(3, name="foo")
637-
result = ri[[False] * 3]
638-
expected = RangeIndex(0, name="foo")
639-
tm.assert_index_equal(result, expected, exact=True)
640-
641-
642-
def test_getitem_boolmask_returns_rangeindex():
643-
ri = RangeIndex(3, name="foo")
644-
result = ri[[False, True, True]]
645-
expected = RangeIndex(1, 3, name="foo")
646-
tm.assert_index_equal(result, expected, exact=True)
647-
648-
result = ri[[True, False, True]]
649-
expected = RangeIndex(0, 3, 2, name="foo")
650-
tm.assert_index_equal(result, expected, exact=True)
651-
652-
653-
def test_getitem_boolmask_returns_index():
654-
ri = RangeIndex(4, name="foo")
655-
result = ri[[True, True, False, True]]
656-
expected = Index([0, 1, 3], name="foo")
657-
tm.assert_index_equal(result, expected)
658-
659-
660-
def test_getitem_boolmask_wrong_length():
661-
ri = RangeIndex(4, name="foo")
662-
with pytest.raises(IndexError, match="Boolean index has wrong length"):
663-
ri[[True]]

pandas/tests/io/pytables/test_append.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,6 @@ def test_append_series(setup_path):
132132

133133
# select on the index and values
134134
expected = ns[(ns > 70) & (ns.index < 90)]
135-
# Reading/writing RangeIndex info is not supported yet
136-
expected.index = Index(expected.index._data)
137135
result = store.select("ns", "foo>70 and index<90")
138136
tm.assert_series_equal(result, expected, check_index_type=True)
139137

web/pandas/community/benchmarks.md

Lines changed: 0 additions & 79 deletions
This file was deleted.

web/pandas/config.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,6 @@ navbar:
5454
target: community/coc.html
5555
- name: "Ecosystem"
5656
target: community/ecosystem.html
57-
- name: "Benchmarks"
58-
target: community/benchmarks.html
5957
- name: "Contribute"
6058
target: contribute.html
6159
blog:

0 commit comments

Comments
 (0)