df.columns[len(df.columns) - n:]
делает то, что вы хотите достичь?Поскольку вы запросили n столбцов.
df = pd.DataFrame([range(6), range(6), range(6), range(6), range(6), range(6)], columns=['a', 'b', 'c', 'd', 'e', 'f'])
df
# a b c d e f
#0 0 1 2 3 4 5
#1 0 1 2 3 4 5
#2 0 1 2 3 4 5
#3 0 1 2 3 4 5
#4 0 1 2 3 4 5
#5 0 1 2 3 4 5
n = 2
df.columns[len(df.columns) - n:]
#Index([u'e', u'f'], dtype='object')