Skip to content

Commit e103a4c

Browse files
authored
CLN: Use group_info less (#57598)
1 parent 9a6c8f0 commit e103a4c

File tree

4 files changed

+14
-17
lines changed

4 files changed

+14
-17
lines changed

Diff for: pandas/core/groupby/generic.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -813,7 +813,7 @@ def value_counts(
813813
from pandas.core.reshape.merge import get_join_indexers
814814
from pandas.core.reshape.tile import cut
815815

816-
ids, _ = self._grouper.group_info
816+
ids = self._grouper.ids
817817
val = self.obj._values
818818

819819
index_names = self._grouper.names + [self.obj.name]

Diff for: pandas/core/groupby/groupby.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,7 @@ def _concat_objects(
12281228

12291229
ax = self._selected_obj.index
12301230
if self.dropna:
1231-
labels = self._grouper.group_info[0]
1231+
labels = self._grouper.ids
12321232
mask = labels != -1
12331233
ax = ax[mask]
12341234

@@ -1423,7 +1423,7 @@ def _numba_agg_general(
14231423
)
14241424
# Pass group ids to kernel directly if it can handle it
14251425
# (This is faster since it doesn't require a sort)
1426-
ids, _ = self._grouper.group_info
1426+
ids = self._grouper.ids
14271427
ngroups = self._grouper.ngroups
14281428

14291429
res_mgr = df._mgr.apply(
@@ -4163,7 +4163,7 @@ def _nth(
41634163
if not dropna:
41644164
mask = self._make_mask_from_positional_indexer(n)
41654165

4166-
ids, _ = self._grouper.group_info
4166+
ids = self._grouper.ids
41674167

41684168
# Drop NA values in grouping
41694169
mask = mask & (ids != -1)
@@ -4503,7 +4503,7 @@ def ngroup(self, ascending: bool = True):
45034503
"""
45044504
obj = self._obj_with_exclusions
45054505
index = obj.index
4506-
comp_ids = self._grouper.group_info[0]
4506+
comp_ids = self._grouper.ids
45074507

45084508
dtype: type
45094509
if self._grouper.has_dropped_na:
@@ -5382,7 +5382,7 @@ def _mask_selected_obj(self, mask: npt.NDArray[np.bool_]) -> NDFrameT:
53825382
Series or DataFrame
53835383
Filtered _selected_obj.
53845384
"""
5385-
ids = self._grouper.group_info[0]
5385+
ids = self._grouper.ids
53865386
mask = mask & (ids != -1)
53875387
return self._selected_obj[mask]
53885388

Diff for: pandas/core/groupby/ops.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -716,7 +716,7 @@ def groups(self) -> dict[Hashable, Index]:
716716
@cache_readonly
717717
def is_monotonic(self) -> bool:
718718
# return if my group orderings are monotonic
719-
return Index(self.group_info[0]).is_monotonic_increasing
719+
return Index(self.ids).is_monotonic_increasing
720720

721721
@final
722722
@cache_readonly
@@ -735,8 +735,7 @@ def group_info(self) -> tuple[npt.NDArray[np.intp], int]:
735735
@cache_readonly
736736
def codes_info(self) -> npt.NDArray[np.intp]:
737737
# return the codes of items in original grouped axis
738-
ids, _ = self.group_info
739-
return ids
738+
return self.ids
740739

741740
@final
742741
@cache_readonly
@@ -933,9 +932,7 @@ def agg_series(
933932
def _aggregate_series_pure_python(
934933
self, obj: Series, func: Callable
935934
) -> npt.NDArray[np.object_]:
936-
_, ngroups = self.group_info
937-
938-
result = np.empty(ngroups, dtype="O")
935+
result = np.empty(self.ngroups, dtype="O")
939936
initialized = False
940937

941938
splitter = self._get_splitter(obj)
@@ -1073,7 +1070,7 @@ def nkeys(self) -> int:
10731070
@cache_readonly
10741071
def codes_info(self) -> npt.NDArray[np.intp]:
10751072
# return the codes of items in original grouped axis
1076-
ids, _ = self.group_info
1073+
ids = self.ids
10771074
if self.indexer is not None:
10781075
sorter = np.lexsort((ids, self.indexer))
10791076
ids = ids[sorter]
@@ -1133,7 +1130,7 @@ def result_index(self) -> Index:
11331130

11341131
@cache_readonly
11351132
def codes(self) -> list[npt.NDArray[np.intp]]:
1136-
return [self.group_info[0]]
1133+
return [self.ids]
11371134

11381135
@cache_readonly
11391136
def result_index_and_ids(self):
@@ -1150,7 +1147,7 @@ def names(self) -> list[Hashable]:
11501147
@property
11511148
def groupings(self) -> list[grouper.Grouping]:
11521149
lev = self.binlabels
1153-
codes = self.group_info[0]
1150+
codes = self.ids
11541151
labels = lev.take(codes)
11551152
ping = grouper.Grouping(
11561153
labels, labels, in_axis=False, level=None, uniques=lev._values

Diff for: pandas/tests/groupby/test_grouping.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -776,10 +776,10 @@ def test_groupby_empty(self):
776776
# check group properties
777777
assert len(gr._grouper.groupings) == 1
778778
tm.assert_numpy_array_equal(
779-
gr._grouper.group_info[0], np.array([], dtype=np.dtype(np.intp))
779+
gr._grouper.ids, np.array([], dtype=np.dtype(np.intp))
780780
)
781781

782-
assert gr._grouper.group_info[1] == 0
782+
assert gr._grouper.ngroups == 0
783783

784784
# check name
785785
gb = s.groupby(s)

0 commit comments

Comments
 (0)