DataFrame.apply doesn't handle numpy ops or DataFrame properties
```
s = pd.Series([1, 2])
df = pd.DataFrame([1, 2])

print(s.agg("sqrt"))
print(df.agg("sqrt"))
print(s.apply("sqrt"))
print(df.apply("sqrt"))

print(s.agg("size"))
print(df.agg("size"))
print(s.apply("size"))
print(df.apply("size"))
```

In each of the two blocks, first three lines all give the expected output and the last raises.