Skip to content

Commit e1cafd4

Browse files
committed
remove calls to obj.dropna()
1 parent 394feb6 commit e1cafd4

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

pandas/core/groupby/generic.py

+7-2
Original file line numberDiff line numberDiff line change
@@ -538,14 +538,19 @@ def _transform_general(
538538
if isinstance(res, (ABCDataFrame, ABCSeries)):
539539
res = res._values
540540

541-
results.append(klass(res, index=group.index))
541+
indexer = self._get_index(name) if self.dropna else group.index
542+
results.append(klass(res, index=indexer))
542543

543544
# check for empty "results" to avoid concat ValueError
544545
if results:
545546
from pandas.core.reshape.concat import concat
546547

547548
concatenated = concat(results)
548-
result = self._set_result_index_ordered(concatenated)
549+
550+
if not self.dropna:
551+
result = self._set_result_index_ordered(concatenated)
552+
else:
553+
result = concatenated.sort_index()
549554
else:
550555
result = self.obj._constructor(dtype=np.float64)
551556
# we will only try to coerce the result type if

pandas/core/groupby/groupby.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -690,8 +690,7 @@ def _set_result_index_ordered(self, result):
690690
result.set_axis(index, axis=self.axis, inplace=True)
691691
result = result.sort_index(axis=self.axis)
692692

693-
obj = self.obj.dropna() if self.dropna else self.obj
694-
result.set_axis(obj._get_axis(self.axis), axis=self.axis, inplace=True)
693+
result.set_axis(self.obj._get_axis(self.axis), axis=self.axis, inplace=True)
695694
return result
696695

697696
def _dir_additions(self):

0 commit comments

Comments
 (0)