我遇到了多索引分配的问题,并希望将值存储在下面突出显示
我有一个名为 df_x 的函数,它是一个数据框,看起来像
print df_x
serial P1 P2 P3
5 21 32 35
10 33 45 76
15 65 99 563
我希望它存储如下
例如级别[0] 的值 alpha
df1 = pd.DataFrame(columns= df_x.columns)
它应该在 df1 上创建一个多索引,以便
打印 df1 应该看起来像
print df1
alpha serial 5 10 15
P1 21 33 65
P2 32 45 99
P3 35 76 563
但是,我正在努力在原始df_x数据帧上创建多索引
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
选项0
pd.concat([df_x], keys=['alpha'])
serial P1 P2 P3
alpha 5 21 32 35
10 33 45 76
15 65 99 563
选项1
pd.DataFrame(
df_x.values,
[['alpha'] * len(df_x), df_x.index],
df_x.columns
)
serial P1 P2 P3
alpha 5 21 32 35
10 33 45 76
15 65 99 563
选项2
df_x.set_index(
pd.MultiIndex.from_product(
[['alpha'], df_x.index], names=[None, df_x.index.name]
)
)
设置
df_x = pd.DataFrame(**{
'columns': pd.Index(['P1', 'P2', 'P3'], name='serial'),
'data': [[21, 32, 35], [33, 45, 76], [65, 99, 563]],
'index': [5, 10, 15]})