假设我有一个如下所示的数据框架:
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
8条答案
按热度按时间nzk0hqpo1#
正如@StevenG自己所建议的,一个更好的答案:
t9aqgxwy2#
选项1
set_index
和T
*选项2
*
pd.concat
、keys
、swaplevel
wz1wpwve3#
一个解决方案,它添加了一个名称到新的水平,是更容易的眼睛比其他答案已经提出:
von4xj4u4#
您可以像这样分配列:
或者对于未知长度的列:
zqry0prt5#
MultiIndex的另一种方法(应用
'E'
):ax6ht2ek6#
我喜欢它显式(使用
MultiIndex
)和链友好(.set_axis
):这在合并具有不同列级别编号的DataFrame时特别方便,其中Pandas(1.4.2)引发FutureWarning(
FutureWarning: merging between different levels is deprecated and will be removed ...
):798qvoo87#
另一种方法,但使用元组的列表理解作为pandas.MultiIndex.from_tuples()的参数:
zwghvu4y8#
我有一个专门的功能。它不那么优雅,但更灵活。优点:
Index
和MultiIndex
最好的问候。