@@ -225,66 +225,51 @@ def agg_list_like(self, _axis: int) -> FrameOrSeriesUnion:
225
225
226
226
results = []
227
227
keys = []
228
- ndims = []
229
228
230
229
# degenerate case
231
- # if selected_obj.ndim == 1:
232
- for a in arg :
233
- # colg = obj._gotitem(selected_obj.name, ndim=1, subset=selected_obj)
234
- try :
235
- # new_res = colg.aggregate(a)
236
- print ('selected_obj:' , type (selected_obj ))
237
- print (selected_obj )
238
- print ('###' )
239
- new_res = selected_obj .aggregate (a )
240
- print (new_res )
241
-
242
- except TypeError :
243
- pass
244
- else :
245
- results .append (new_res )
246
- if isinstance (new_res , ABCNDFrame ):
247
- ndims .append (new_res .ndim )
230
+ if selected_obj .ndim == 1 :
231
+ for a in arg :
232
+ colg = obj ._gotitem (selected_obj .name , ndim = 1 , subset = selected_obj )
233
+ try :
234
+ new_res = colg .aggregate (a )
235
+
236
+ except TypeError :
237
+ pass
248
238
else :
249
- ndims .append (0 )
239
+ results .append (new_res )
250
240
251
- # make sure we find a good name
252
- name = com .get_callable_name (a ) or a
253
- keys .append (name )
241
+ # make sure we find a good name
242
+ name = com .get_callable_name (a ) or a
243
+ keys .append (name )
254
244
255
245
# multiples
256
- # else:
257
- # for index, col in enumerate(selected_obj):
258
- # colg = obj._gotitem(col, ndim=1, subset=selected_obj.iloc[:, index])
259
- # try:
260
- # new_res = colg.aggregate(arg)
261
- # except (TypeError, DataError):
262
- # pass
263
- # except ValueError as err:
264
- # # cannot aggregate
265
- # if "Must produce aggregated value" in str(err):
266
- # # raised directly in _aggregate_named
267
- # pass
268
- # elif "no results" in str(err):
269
- # # raised directly in _aggregate_multiple_funcs
270
- # pass
271
- # else:
272
- # raise
273
- # else:
274
- # results.append(new_res)
275
- # keys.append(col)
246
+ else :
247
+ for index , col in enumerate (selected_obj ):
248
+ colg = obj ._gotitem (col , ndim = 1 , subset = selected_obj .iloc [:, index ])
249
+ try :
250
+ new_res = colg .aggregate (arg )
251
+ except (TypeError , DataError ):
252
+ pass
253
+ except ValueError as err :
254
+ # cannot aggregate
255
+ if "Must produce aggregated value" in str (err ):
256
+ # raised directly in _aggregate_named
257
+ pass
258
+ elif "no results" in str (err ):
259
+ # raised directly in _aggregate_multiple_funcs
260
+ pass
261
+ else :
262
+ raise
263
+ else :
264
+ results .append (new_res )
265
+ keys .append (col )
276
266
277
267
# if we are empty
278
268
if not len (results ):
279
269
raise ValueError ("no results" )
280
270
281
271
try :
282
- # if len(results) == 0:
283
- # result = results[0]
284
- # else:
285
- result = concat (results , keys = keys , axis = 1 , sort = False )
286
- if all ([e == 1 for e in ndims ]):
287
- result = result .T .infer_objects ()
272
+ return concat (results , keys = keys , axis = 1 , sort = False )
288
273
except TypeError as err :
289
274
290
275
# we are concatting non-NDFrame objects,
@@ -297,12 +282,7 @@ def agg_list_like(self, _axis: int) -> FrameOrSeriesUnion:
297
282
raise ValueError (
298
283
"cannot combine transform and aggregation operations"
299
284
) from err
300
- else :
301
- if result .columns .nlevels > 1 :
302
- new_order = [- 1 ] + list (range (result .columns .nlevels - 1 ))
303
- result = result .reorder_levels (new_order , axis = 'columns' )
304
- result = result [selected_obj .columns ]
305
- return result
285
+ return result
306
286
307
287
def agg_dict_like (self , _axis : int ) -> FrameOrSeriesUnion :
308
288
"""
0 commit comments