Как просто добавить уровень столбца в фреймворк pandas

скажем, у меня есть фреймворк данных, который выглядит так:

df = pd.DataFrame(index=list('abcde'), data={'A': range(5), 'B': range(5)})
 df
Out[92]: 
   A  B
a  0  0
b  1  1
c  2  2
d  3  3
e  4  4

Предполагая, что этот фреймворк уже существует, как я могу просто добавить уровень "C" в индекс столбца, чтобы получить следующее:

 df
Out[92]: 
   A  B
   C  C
a  0  0
b  1  1
c  2  2
d  3  3
e  4  4

Я видел SO anwser как python/ pandas: как объединить два фрейма данных в один с иерархическим индексом столбцов?, но этот concat другой файловый фрейм вместо добавления уровень столбца к уже существующему файловому кадру.

-

Ответы

Ответ 1

Как предложил сам @StevenG, лучший ответ:

df.columns = pd.MultiIndex.from_product([df.columns, ['C']])

print(df)
#    A  B
#    C  C
# a  0  0
# b  1  1
# c  2  2
# d  3  3
# e  4  4

Ответ 2

вариант 1
set_index и T

df.T.set_index(np.repeat('C', df.shape[1]), append=True).T

вариант 2
pd.concat, keys и swaplevel

pd.concat([df], axis=1, keys=['C']).swaplevel(0, 1, 1)

введите описание изображения здесь