Why does transform default to ungroup=true?

In DataFrames, why does transform default to ungroup=true?

Because it was decided that this is what typically users will want by default. Also we wanted combne, select and transform to have the same defaults as otherwise the ecosystem would be harder to learn (and for combine you almost never want ungroup=false).