BUG: DataFrame.agg and apply with 'size' returns a scalar · Issue #39934 · pandas-dev/pandas (original) (raw)

Compare

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
print(df.apply('size'))
print(df.apply(['size']))
print('---')
print(df.agg('size'))
print(df.agg(['size']))

gives

6
      a  b
size  3  3
---
6
      a  b
size  3  3

agg/apply should operate on rows/columns.