df = pd.DataFrame([[1, 2.3456, 'c', 'd', 78]], columns=list('ABCDE'))
df
df.dtypes
g = df.columns.to_series().groupby(df.dtypes).groups
g
{k.name: v for k, v in list(g.items())}
получить список столбцов данных pandas на основе типа данных