I have a DataFrame like this one:
In [7]: frame.head() Out[7]: Communications and Search Business General Lifestyle 0 0.745763 0.050847 0.118644
And if you want to produce a column containing the name of the column with the maximum value but considering only a subset of columns then you use a variation of @ajcr's answer:
df['Max'] = df[['Communications','Business']].idxmax(axis=1)