Python 如何使用多索引应用程序?
我有这样的情况: 我想使用apply并使用第二级列向每个第一级添加一列“w”。 结果: 期望结果:Python 如何使用多索引应用程序?,python,pandas,multi-index,Python,Pandas,Multi Index,我有这样的情况: 我想使用apply并使用第二级列向每个第一级添加一列“w”。 结果: 期望结果: 尝试使用重塑和评估: df = pd.DataFrame([[1,2,3,3,2,1,2,1,3],[4,5,6,6,5,4,5,4,6]], columns=pd.MultiIndex.from_product([[*'ABC'],[*'xyz']])) df_out = df.stack(0).eval('w=x+y-z').unstack().sw
尝试使用重塑和评估:
df = pd.DataFrame([[1,2,3,3,2,1,2,1,3],[4,5,6,6,5,4,5,4,6]],
columns=pd.MultiIndex.from_product([[*'ABC'],[*'xyz']]))
df_out = df.stack(0).eval('w=x+y-z').unstack().swaplevel(0,1, axis=1).sort_index(axis=1)
print(df_out)
输出:
A B C
w x y z w x y z w x y z
0 0 1 2 3 4 3 2 1 0 2 1 3
1 3 4 5 6 7 6 5 4 3 5 4 6
尝试使用重塑和评估:
df = pd.DataFrame([[1,2,3,3,2,1,2,1,3],[4,5,6,6,5,4,5,4,6]],
columns=pd.MultiIndex.from_product([[*'ABC'],[*'xyz']]))
df_out = df.stack(0).eval('w=x+y-z').unstack().swaplevel(0,1, axis=1).sort_index(axis=1)
print(df_out)
输出:
A B C
w x y z w x y z w x y z
0 0 1 2 3 4 3 2 1 0 2 1 3
1 3 4 5 6 7 6 5 4 3 5 4 6
请编辑您的代码并添加行以创建数据框,这样人们就可以简单地将其剪切并粘贴到编辑器中,并尝试为您提供正确答案,而无需浪费时间从图像中重新创建数据框。请编辑您的代码并添加行以创建数据框,这样人们就可以简单地将其剪切并粘贴到编辑器中并尝试提供正确答案您可以找到正确的答案,而无需浪费时间从图像重新创建数据帧。