Skip to content

Commit a9706e0

Browse files
move EA._reduce call into blk_func
1 parent 9f83f6e commit a9706e0

File tree

2 files changed

+7
-10
lines changed

2 files changed

+7
-10
lines changed

pandas/core/frame.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -7933,14 +7933,14 @@ def _get_data(axis_matters):
79337933
out_dtype = "bool" if filter_type == "bool" else None
79347934

79357935
def blk_func(values):
7936-
if values.ndim == 1 and not isinstance(values, np.ndarray):
7937-
# we can't pass axis=1
7938-
return op(values, axis=0, skipna=skipna, **kwds)
7939-
return op(values, axis=1, skipna=skipna, **kwds)
7936+
if isinstance(values, ExtensionArray):
7937+
return values._reduce(name, skipna=skipna, **kwds)
7938+
else:
7939+
return op(values, axis=1, skipna=skipna, **kwds)
79407940

79417941
# After possibly _get_data and transposing, we are now in the
79427942
# simple case where we can use BlockManager._reduce
7943-
res = df._data.reduce(blk_func, name, skipna, **kwds)
7943+
res = df._data.reduce(blk_func)
79447944
assert isinstance(res, dict)
79457945
if len(res):
79467946
assert len(res) == max(list(res.keys())) + 1, res.keys()

pandas/core/internals/managers.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ def _verify_integrity(self) -> None:
349349
f"tot_items: {tot_items}"
350350
)
351351

352-
def reduce(self, func, name, skipna=True, **kwds):
352+
def reduce(self, func):
353353
# If 2D, we assume that we're operating column-wise
354354
if self.ndim == 1:
355355
# we'll be returning a scalar
@@ -358,10 +358,7 @@ def reduce(self, func, name, skipna=True, **kwds):
358358

359359
res = {}
360360
for blk in self.blocks:
361-
if isinstance(blk, ExtensionBlock):
362-
bres = blk.values._reduce(name, skipna=skipna, **kwds)
363-
else:
364-
bres = func(blk.values)
361+
bres = func(blk.values)
365362

366363
if np.ndim(bres) == 0:
367364
# EA

0 commit comments

Comments
 (0)