Skip to content

Commit fb8d7ce

Browse files
committed
BUG: df.iloc[:, :1] with EA column
1 parent f20331d commit fb8d7ce

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

pandas/core/internals/blocks.py

+5
Original file line numberDiff line numberDiff line change
@@ -1809,6 +1809,11 @@ def _slice(self, slicer):
18091809
if not com.is_null_slice(slicer[0]):
18101810
raise AssertionError("invalid slicing for a 1-ndim categorical")
18111811
slicer = slicer[1]
1812+
elif not isinstance(slicer, tuple) and self.ndim == 2:
1813+
# reached via getitem_block via _slice_take_blocks_ax0
1814+
# TODO(EA2D): wont be necessary with 2D EAs
1815+
# treat this like (slicer, slice(None)
1816+
slicer = slice(None)
18121817

18131818
return self.values[slicer]
18141819

pandas/tests/extension/base/getitem.py

+4
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ def test_iloc_frame(self, data):
4040
result = df.iloc[:4, 0]
4141
self.assert_series_equal(result, expected)
4242

43+
# GH#32957 null slice along index, slice along rows
44+
result = df.iloc[:, :1]
45+
self.assert_frame_equal(result, df[["A"]])
46+
4347
def test_loc_series(self, data):
4448
ser = pd.Series(data)
4549
result = ser.loc[:3]

0 commit comments

Comments
 (0)