This seems like a very simple problem, however it\'s driving me round the bend. I\'m sure it should be solved by RTFM, but I\'ve looked at the options and I can see the one
another way around is to group by dtype as follows:
x = df.columns.to_series().groupby(df.dtypes).groups x {dtype('object'): ['Date', 'Selection', 'Result'], dtype('float64'): ['profit', 'PL', 'cumPL']