Если вы хотите суммировать все столбцы значений, кроме Channel, весь ваш код работает до последней строки. Уточненная версия вашего кода:
df = pd.DataFrame({"val": [1, 2, 3, 4], "Val2": [5, 100, 6, 7], "Channel": ["Hotel", "Cafe", "Restaurant", "Hotel"]})
df.groupby('Channel').sum().sum(axis='columns').idxmin()
Если вы действительно хотите найти idxmin для столбца, удалите .sum(axis='columns')