@@ -357,6 +357,7 @@ def _wrap_applied_output(
357
357
data : Series ,
358
358
values : list [Any ],
359
359
not_indexed_same : bool = False ,
360
+ override_group_keys : bool = False ,
360
361
) -> DataFrame | Series :
361
362
"""
362
363
Wrap the output of SeriesGroupBy.apply into the expected result.
@@ -395,7 +396,11 @@ def _wrap_applied_output(
395
396
res_ser .name = self .obj .name
396
397
return res_ser
397
398
elif isinstance (values [0 ], (Series , DataFrame )):
398
- return self ._concat_objects (values , not_indexed_same = not_indexed_same )
399
+ return self ._concat_objects (
400
+ values ,
401
+ not_indexed_same = not_indexed_same ,
402
+ override_group_keys = override_group_keys ,
403
+ )
399
404
else :
400
405
# GH #6265 #24880
401
406
result = self .obj ._constructor (
@@ -983,7 +988,11 @@ def _aggregate_item_by_item(self, func, *args, **kwargs) -> DataFrame:
983
988
return res_df
984
989
985
990
def _wrap_applied_output (
986
- self , data : DataFrame , values : list , not_indexed_same : bool = False
991
+ self ,
992
+ data : DataFrame ,
993
+ values : list ,
994
+ not_indexed_same : bool = False ,
995
+ override_group_keys : bool = False ,
987
996
):
988
997
989
998
if len (values ) == 0 :
@@ -1000,7 +1009,11 @@ def _wrap_applied_output(
1000
1009
# GH9684 - All values are None, return an empty frame.
1001
1010
return self .obj ._constructor ()
1002
1011
elif isinstance (first_not_none , DataFrame ):
1003
- return self ._concat_objects (values , not_indexed_same = not_indexed_same )
1012
+ return self ._concat_objects (
1013
+ values ,
1014
+ not_indexed_same = not_indexed_same ,
1015
+ override_group_keys = override_group_keys ,
1016
+ )
1004
1017
1005
1018
key_index = self .grouper .result_index if self .as_index else None
1006
1019
@@ -1026,7 +1039,11 @@ def _wrap_applied_output(
1026
1039
else :
1027
1040
# values are Series
1028
1041
return self ._wrap_applied_output_series (
1029
- values , not_indexed_same , first_not_none , key_index
1042
+ values ,
1043
+ not_indexed_same ,
1044
+ first_not_none ,
1045
+ key_index ,
1046
+ override_group_keys ,
1030
1047
)
1031
1048
1032
1049
def _wrap_applied_output_series (
@@ -1035,6 +1052,7 @@ def _wrap_applied_output_series(
1035
1052
not_indexed_same : bool ,
1036
1053
first_not_none ,
1037
1054
key_index ,
1055
+ override_group_keys : bool ,
1038
1056
) -> DataFrame | Series :
1039
1057
# this is to silence a DeprecationWarning
1040
1058
# TODO(2.0): Remove when default dtype of empty Series is object
@@ -1058,7 +1076,11 @@ def _wrap_applied_output_series(
1058
1076
# if any of the sub-series are not indexed the same
1059
1077
# OR we don't have a multi-index and we have only a
1060
1078
# single values
1061
- return self ._concat_objects (values , not_indexed_same = not_indexed_same )
1079
+ return self ._concat_objects (
1080
+ values ,
1081
+ not_indexed_same = not_indexed_same ,
1082
+ override_group_keys = override_group_keys ,
1083
+ )
1062
1084
1063
1085
# still a series
1064
1086
# path added as of GH 5545
@@ -1069,7 +1091,11 @@ def _wrap_applied_output_series(
1069
1091
1070
1092
if not all_indexed_same :
1071
1093
# GH 8467
1072
- return self ._concat_objects (values , not_indexed_same = True )
1094
+ return self ._concat_objects (
1095
+ values ,
1096
+ not_indexed_same = True ,
1097
+ override_group_keys = override_group_keys ,
1098
+ )
1073
1099
1074
1100
# Combine values
1075
1101
# vstack+constructor is faster than concat and handles MI-columns
0 commit comments