Skip to content

Commit 2b74a91

Browse files
[ArrayManager] TST: run (+fix/skip) pandas/tests/series/indexing tests (#40326)
1 parent c331ba8 commit 2b74a91

File tree

5 files changed

+24
-11
lines changed

5 files changed

+24
-11
lines changed

.github/workflows/ci.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,7 @@ jobs:
162162
pytest pandas/tests/groupby/
163163
pytest pandas/tests/resample/
164164
pytest pandas/tests/reshape/merge
165-
166-
pytest pandas/tests/series/methods
167-
pytest pandas/tests/series/test_*
165+
pytest pandas/tests/series/
168166
169167
# indexing subset (temporary since other tests don't pass yet)
170168
pytest pandas/tests/indexing/multiindex/test_setitem.py::TestMultiIndexSetItem::test_astype_assignment_with_dups

pandas/core/internals/array_manager.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ def get_dtypes(self):
202202
def __repr__(self) -> str:
203203
output = type(self).__name__
204204
output += f"\nIndex: {self._axes[0]}"
205-
if self.ndim == 1:
205+
if self.ndim == 2:
206206
output += f"\nColumns: {self._axes[1]}"
207207
output += f"\n{len(self.arrays)} arrays:"
208208
for arr in self.arrays:
@@ -1138,7 +1138,13 @@ def __init__(
11381138
def _verify_integrity(self) -> None:
11391139
(n_rows,) = self.shape
11401140
assert len(self.arrays) == 1
1141-
assert len(self.arrays[0]) == n_rows
1141+
arr = self.arrays[0]
1142+
assert len(arr) == n_rows
1143+
if not arr.ndim == 1:
1144+
raise ValueError(
1145+
"Passed array should be 1-dimensional, got array with "
1146+
f"{arr.ndim} dimensions instead."
1147+
)
11421148

11431149
@staticmethod
11441150
def _normalize_axis(axis):

pandas/tests/series/indexing/test_getitem.py

+8-4
Original file line numberDiff line numberDiff line change
@@ -234,10 +234,12 @@ def test_getitem_partial_str_slice_high_reso_with_timedeltaindex(self):
234234
result = ser["1 days, 10:11:12.001001"]
235235
assert result == ser.iloc[1001]
236236

237-
def test_getitem_slice_2d(self, datetime_series):
237+
def test_getitem_slice_2d(self, datetime_series, using_array_manager):
238238
# GH#30588 multi-dimensional indexing deprecated
239239

240-
with tm.assert_produces_warning(FutureWarning):
240+
with tm.assert_produces_warning(
241+
FutureWarning, check_stacklevel=not using_array_manager
242+
):
241243
# GH#30867 Don't want to support this long-term, but
242244
# for now ensure that the warning from Index
243245
# doesn't comes through via Series.__getitem__.
@@ -518,9 +520,11 @@ def test_getitem_generator(string_series):
518520
Series(date_range("2012-01-01", periods=2, tz="CET")),
519521
],
520522
)
521-
def test_getitem_ndim_deprecated(series):
523+
def test_getitem_ndim_deprecated(series, using_array_manager):
522524
with tm.assert_produces_warning(
523-
FutureWarning, match="Support for multi-dimensional indexing"
525+
FutureWarning,
526+
match="Support for multi-dimensional indexing",
527+
check_stacklevel=not using_array_manager,
524528
):
525529
result = series[:, None]
526530

pandas/tests/series/indexing/test_setitem.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -306,8 +306,8 @@ def test_dt64tz_setitem_does_not_mutate_dti(self):
306306
ser = Series(dti)
307307
assert ser._values is not dti
308308
assert ser._values._data.base is not dti._data._data.base
309-
assert ser._mgr.blocks[0].values is not dti
310-
assert ser._mgr.blocks[0].values._data.base is not dti._data._data.base
309+
assert ser._mgr.arrays[0] is not dti
310+
assert ser._mgr.arrays[0]._data.base is not dti._data._data.base
311311

312312
ser[::3] = NaT
313313
assert ser[0] is NaT

pandas/tests/series/indexing/test_where.py

+5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import numpy as np
22
import pytest
33

4+
import pandas.util._test_decorators as td
5+
46
from pandas.core.dtypes.common import is_integer
57

68
import pandas as pd
@@ -471,6 +473,9 @@ def test_where_categorical(klass):
471473
tm.assert_equal(exp, res)
472474

473475

476+
# TODO(ArrayManager) DataFrame.values not yet correctly returning datetime array
477+
# for categorical with datetime categories
478+
@td.skip_array_manager_not_yet_implemented
474479
def test_where_datetimelike_categorical(tz_naive_fixture):
475480
# GH#37682
476481
tz = tz_naive_fixture

0 commit comments

Comments
 (0)